-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Type can no longer be inferred in 1.49 #81317
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Based on that it worked on stable 1.48 and now doesn't on 1.49 I assume this is a stable to stable regression. @rustbot modify labels: +regression-from-stable-to-stable-regression-untriaged |
Minimized further: use num::BigUint; // Cargo.toml: num = "0.1"
pub trait Protocol: Sized + Default {
type PacketIndex: Into<u64> + Into<BigUint>;
}
pub fn decrypt_portion<P: Protocol>(index: P::PacketIndex) {
let iv: BigUint = loop{};
let len: usize = loop{};
let iv = iv ^ (index.into() << 16);
let iv = iv ^ (BigUint::from(1_u8) << (len * 8));
let _iv: &[u8] = &iv.to_bytes_be()[1..len + 1];
} Errors:
|
Reduced the code to not use external BigUint type: use std::ops::{BitXor, Shl};
pub trait Protocol {
type PacketIndex: Into<u64> + Into<BigUint>;
}
fn from_nothing<T>() -> T {
todo!()
}
pub fn decrypt_portion<P: Protocol>(index: P::PacketIndex) {
let iv: BigUint = from_nothing();
let len: usize = from_nothing();
let iv = iv ^ (index.into() << 16);
let iv = iv ^ (BigUint::from(1_u8) << (len * 8));
let _iv: &[u8] = &iv.to_bytes_be()[1..len + 1];
}
pub struct BigUint;
impl BigUint {
fn to_bytes_be(&self) -> Vec<u8> {
todo!()
}
}
impl From<u8> for BigUint {
fn from(_: u8) -> Self {
unimplemented!()
}
}
impl Shl<usize> for BigUint {
type Output = BigUint;
fn shl(self, _rhs: usize) -> Self::Output {
unimplemented!()
}
}
impl BitXor for BigUint {
type Output = BigUint;
fn bitxor(self, _rhs: Self) -> Self::Output {
unimplemented!()
}
}
impl<'a> BitXor<&'a BigUint> for BigUint {
type Output = BigUint;
fn bitxor(self, _rhs: &'a BigUint) -> Self::Output {
unimplemented!()
}
} |
pub struct S;
pub trait P {
type I: Into<u64> + Into<S>;
}
trait A<B> {
fn m(self, _: B) -> S;
}
impl A<S> for S {
fn m(self, _: S) -> S {
todo!()
}
}
impl A<&'static S> for S {
fn m(self, _: &'static S) -> S {
todo!()
}
}
pub fn f<T: P>(i: T::I) {
S.m(i.into());
} |
Could this be related to #80816? |
searched nightlies: from nightly-2020-10-01 to nightly-2020-11-14 bisected with cargo-bisect-rustc v0.6.0Host triple: x86_64-unknown-linux-gnu cargo bisect-rustc --preserve --start=2020-10-01 --end=2020-11-14 -- check Using code: pub struct S;
pub trait P {
type I: Into<u64> + Into<S>;
}
trait A<B> {
fn m(self, _: B) -> S;
}
impl A<S> for S {
fn m(self, _: S) -> S {
todo!()
}
}
impl A<&'static S> for S {
fn m(self, _: &'static S) -> S {
todo!()
}
}
pub fn f<T: P>(i: T::I) {
let _ = S.m(i.into());
} |
An alternate reduction: use core::ops::Shl;
struct A;
impl A {
fn a(&self) {}
}
impl Shl<i8> for A {
type Output = A;
fn shl(self, _: i8) -> A {
self
}
}
impl Shl<i32> for A {
type Output = A;
fn shl(self, _: i32) -> A {
self
}
}
pub fn decrypt_portion_no_worky() {
let iv = A << 16;
iv.a();
}
pub fn decrypt_portion_works() {
let iv = A << 16;
// Calling no methods works?!
} |
@mbartlett21 that does not appear to be a valid reduction as it does not work on 1.48 for me |
use std::ops::BitXor;
pub struct S;
pub trait P {
type I: Into<u64> + Into<S>;
}
pub fn decrypt_portion<T: P>(index: T::I) {
let iv = S ^ index.into();
&iv.to_bytes_be();
}
impl S {
fn to_bytes_be(&self) -> &[u8] {
unimplemented!()
}
}
impl BitXor for S {
type Output = S;
fn bitxor(self, _rhs: Self) -> Self::Output {
unimplemented!()
}
}
impl<'a> BitXor<&'a S> for S {
type Output = S;
fn bitxor(self, _rhs: &'a S) -> Self::Output {
unimplemented!()
}
} this reduction works for me and without changing the error message as with ojedas reduction |
Assigning |
duplicate of #80816 but keeping open so I make sure to test both repros |
Just needs a test, inference changes are unfortunately unavoidable |
I will try to submit a PR adding a test for this. |
…llaumeGomez Rollup of 4 pull requests Successful merges: - rust-lang#140135 (Unify sidebar buttons to use the same image) - rust-lang#140632 (add a test for issue rust-lang#81317) - rust-lang#140658 (`deref_patterns`: let string and byte string literal patterns peel references and smart pointers before matching) - rust-lang#140681 (Don't ignore compiler stderr in `lib-defaults.rs`) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#140632 - Skgland:test-for-issue-81317, r=oli-obk add a test for issue rust-lang#81317 closes rust-lang#81317
1459: Automated pull from upstream `master` r=Hoverbear a=ferrocene-automations[bot] :warning: **The automation reported these warnings:** :warning: * There are merge conflicts in this PR. Merge conflict markers have been committed. * Couldn't regenerate the `x.py` completions. Please run `./x run generate-completions` after fixing the merge conflicts. This PR pulls the following changes from the upstream repository: * `140252`: [Remove `Ident::empty`](https://www.github.com/rust-lang/rust/issues/140252) * `140176`: [Fix linking statics on Arm64EC](https://www.github.com/rust-lang/rust/issues/140176) * `140818`: [Rollup of 8 pull requests](https://www.github.com/rust-lang/rust/issues/140818) * `140811`: [Enable triagebot note functionality for rust-lang/rust](https://www.github.com/rust-lang/rust/issues/140811) * `140802`: [Add release notes for 1.87.0](https://www.github.com/rust-lang/rust/issues/140802) * `140800`: [Make `rustdoc-tempdir-removal` run-make tests work on other platforms than linux](https://www.github.com/rust-lang/rust/issues/140800) * `140716`: [Improve `-Zremap-path-scope` tests with dependency](https://www.github.com/rust-lang/rust/issues/140716) * `140707`: [Structurally normalize in range pattern checking in HIR typeck](https://www.github.com/rust-lang/rust/issues/140707) * `140684`: [Only include `dyn Trait<Assoc = ...>` associated type bounds for `Self: Sized` associated types if they are provided](https://www.github.com/rust-lang/rust/issues/140684) * `140341`: [Clarify black_box warning a bit](https://www.github.com/rust-lang/rust/issues/140341) * `140095`: [Eliminate `word_and_empty` methods.](https://www.github.com/rust-lang/rust/issues/140095) * `140786`: [Do not deny warnings in "fast" try builds](https://www.github.com/rust-lang/rust/issues/140786) * `140797`: [Rollup of 5 pull requests](https://www.github.com/rust-lang/rust/issues/140797) * `140759`: [[win][arm64] Disable std::fs tests that require symlinks](https://www.github.com/rust-lang/rust/issues/140759) * `140758`: [[win][arm64] Disable MSVC Linker 'Arm Hazard' warning](https://www.github.com/rust-lang/rust/issues/140758) * `140756`: [[arm64] Pointer auth test should link with C static library statically](https://www.github.com/rust-lang/rust/issues/140756) * `140755`: [[win][arm64] Disable various DebugInfo tests that don't work on Arm64 Windows](https://www.github.com/rust-lang/rust/issues/140755) * `140736`: [trait selection: check `&` before suggest remove deref](https://www.github.com/rust-lang/rust/issues/140736) * `140732`: [make it possible to run in-tree rustfmt with `x run rustfmt`](https://www.github.com/rust-lang/rust/issues/140732) * `140781`: [Rollup of 9 pull requests](https://www.github.com/rust-lang/rust/issues/140781) * `140773`: [triagebot: Better message for changes to `tests/rustdoc-json`](https://www.github.com/rust-lang/rust/issues/140773) * `140769`: [Add `DefPathData::OpaqueLifetime` to avoid conflicts for remapped opaque lifetimes](https://www.github.com/rust-lang/rust/issues/140769) * `140764`: [style: Never break within a nullary function call `func()` or a unit literal `()`](https://www.github.com/rust-lang/rust/issues/140764) * `140762`: [rustdoc-json: Remove newlines from attributes](https://www.github.com/rust-lang/rust/issues/140762) * `140711`: [Do not discard constraints on overflow if there was candidate ambiguity](https://www.github.com/rust-lang/rust/issues/140711) * `140641`: [detect additional uses of opaques after writeback](https://www.github.com/rust-lang/rust/issues/140641) * `140579`: [Remove estebank from automated review assignment](https://www.github.com/rust-lang/rust/issues/140579) * `140523`: [Better error message for late/early lifetime param mismatch](https://www.github.com/rust-lang/rust/issues/140523) * `140260`: [Only prefer param-env candidates if they remain non-global after norm](https://www.github.com/rust-lang/rust/issues/140260) * `140106`: [allow deref patterns to participate in exhaustiveness analysis](https://www.github.com/rust-lang/rust/issues/140106) * `140751`: [Rollup of 8 pull requests](https://www.github.com/rust-lang/rust/issues/140751) * `140745`: [run-make-support: set rustc dylib path for cargo wrapper](https://www.github.com/rust-lang/rust/issues/140745) * `140741`: [add armv5te-unknown-linux-gnueabi target maintainer](https://www.github.com/rust-lang/rust/issues/140741) * `140734`: [Fix regression from #140393 for espidf / horizon / nuttx / vita](https://www.github.com/rust-lang/rust/issues/140734) * `140706`: [[rustdoc] Ensure that temporary doctest folder is correctly removed even if doctests failed](https://www.github.com/rust-lang/rust/issues/140706) * `140700`: [Don't crash on error codes passed to `--explain` which exceed our internal limit of 9999 ](https://www.github.com/rust-lang/rust/issues/140700) * `140671`: [Parser: Recover error from named params while parse_path](https://www.github.com/rust-lang/rust/issues/140671) * `140614`: [Correct warning message in restricted visibility](https://www.github.com/rust-lang/rust/issues/140614) * `140234`: [Separate dataflow analysis and results](https://www.github.com/rust-lang/rust/issues/140234) * `140590`: [borrowck nested items in dead code](https://www.github.com/rust-lang/rust/issues/140590) * `139758`: [Use thread local dep graph encoding](https://www.github.com/rust-lang/rust/issues/139758) * `140735`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/140735) * `140724`: [Update `compiler-builtins` to 0.1.158](https://www.github.com/rust-lang/rust/issues/140724) * `140719`: [fix typo in autorefs lint doc example](https://www.github.com/rust-lang/rust/issues/140719) * `140398`: [Fix backtrace for cygwin](https://www.github.com/rust-lang/rust/issues/140398) * `139518`: [Stabilize precise capture syntax in style guide](https://www.github.com/rust-lang/rust/issues/139518) * `137995`: [Remove duplicate impl of string unescape from parse_format](https://www.github.com/rust-lang/rust/issues/137995) * `140726`: [Rollup of 9 pull requests](https://www.github.com/rust-lang/rust/issues/140726) * `140713`: [Structurally resolve in `check_ref_cast` in new solver](https://www.github.com/rust-lang/rust/issues/140713) * `140709`: [rustdoc: remove unportable markdown lint and old parser](https://www.github.com/rust-lang/rust/issues/140709) * `140668`: [Implement `VecDeque::truncate_front()`](https://www.github.com/rust-lang/rust/issues/140668) * `140656`: [collect all Fuchsia bindings into the `fuchsia` module](https://www.github.com/rust-lang/rust/issues/140656) * `140607`: [support duplicate entries in the opaque_type_storage](https://www.github.com/rust-lang/rust/issues/140607) * `140483`: [Comment on `Rc` abort-guard strategy without naming unrelated fn](https://www.github.com/rust-lang/rust/issues/140483) * `140419`: [Move `in_external_macro` to `SyntaxContext`](https://www.github.com/rust-lang/rust/issues/140419) * `139534`: [Added support for `apxf` target feature](https://www.github.com/rust-lang/rust/issues/139534) * `134273`: [de-stabilize bench attribute](https://www.github.com/rust-lang/rust/issues/134273) * `140514`: [Stabilize proc_macro::Span::{file, local_file}.](https://www.github.com/rust-lang/rust/issues/140514) * `140708`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/140708) * `140703`: [Handle PR not found in post-merge workflow](https://www.github.com/rust-lang/rust/issues/140703) * `140692`: [Rename `graph::implementation::Graph` to `LinkedGraph`](https://www.github.com/rust-lang/rust/issues/140692) * `139966`: [coverage: Only merge adjacent coverage spans](https://www.github.com/rust-lang/rust/issues/139966) * `136183`: [Update iterator.rs to use arrays by value](https://www.github.com/rust-lang/rust/issues/136183) * `140702`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/140702) * `140681`: [Don't ignore compiler stderr in `lib-defaults.rs`](https://www.github.com/rust-lang/rust/issues/140681) * `140658`: [`deref_patterns`: let string and byte string literal patterns peel references and smart pointers before matching](https://www.github.com/rust-lang/rust/issues/140658) * `140632`: [add a test for issue rust-lang/rust#81317](https://www.github.com/rust-lang/rust/issues/140632) * `140135`: [Unify sidebar buttons to use the same image](https://www.github.com/rust-lang/rust/issues/140135) * `140561`: [Do not gather local all together at the beginning of typeck](https://www.github.com/rust-lang/rust/issues/140561) * `140695`: [Rollup of 12 pull requests](https://www.github.com/rust-lang/rust/issues/140695) * `140687`: [Update mdbook to 0.4.49](https://www.github.com/rust-lang/rust/issues/140687) * `140678`: [Be a bit more relaxed about not yet constrained infer vars in closure upvar analysis](https://www.github.com/rust-lang/rust/issues/140678) * `140673`: [Clean rustdoc tests folder](https://www.github.com/rust-lang/rust/issues/140673) * `140634`: [Use more accurate ELF flags on MIPS](https://www.github.com/rust-lang/rust/issues/140634) * `140598`: [Steer docs to `utf8_chunks` and `Iterator::take`](https://www.github.com/rust-lang/rust/issues/140598) * `140532`: [Fix RustAnalyzer discovery of rustc's `stable_mir` crate](https://www.github.com/rust-lang/rust/issues/140532) * `140393`: [std: get rid of `sys_common::process`](https://www.github.com/rust-lang/rust/issues/140393) * `140251`: [coverage-dump: Resolve global file IDs to filenames](https://www.github.com/rust-lang/rust/issues/140251) * `140035`: [Implement RFC 3503: frontmatters](https://www.github.com/rust-lang/rust/issues/140035) * `139773`: [Implement `Iterator::last` for `vec::IntoIter`](https://www.github.com/rust-lang/rust/issues/139773) * `139764`: [Consistent trait bounds for ExtractIf Debug impls](https://www.github.com/rust-lang/rust/issues/139764) * `139550`: [Fix `-Zremap-path-scope` rmeta handling](https://www.github.com/rust-lang/rust/issues/139550) * `131160`: [Handle `rustc_middle` cases of `rustc::potential_query_instability` lint](https://www.github.com/rust-lang/rust/issues/131160) * `140682`: [Rollup of 11 pull requests](https://www.github.com/rust-lang/rust/issues/140682) * `140676`: [Update books](https://www.github.com/rust-lang/rust/issues/140676) * `140672`: [Deeply normalize in the new solver in WF](https://www.github.com/rust-lang/rust/issues/140672) * `140670`: [calculate step duration in a panic-safe way](https://www.github.com/rust-lang/rust/issues/140670) * `140661`: [Make `-Zfixed-x18` into a target modifier](https://www.github.com/rust-lang/rust/issues/140661) * `140636`: [implement `PanicTracker` to track `t` panics](https://www.github.com/rust-lang/rust/issues/140636) * `140605`: [`fn check_opaque_type_parameter_valid` defer error](https://www.github.com/rust-lang/rust/issues/140605) * `140559`: [Removing rustc_type_ir in the rustc_infer codebase](https://www.github.com/rust-lang/rust/issues/140559) * `140374`: [Resolve instance for SymFn in global/naked asm](https://www.github.com/rust-lang/rust/issues/140374) * `140357`: [bypass linker configuration and cross target check on `x check`](https://www.github.com/rust-lang/rust/issues/140357) * `140115`: [mir-opt: execute MatchBranchSimplification after GVN](https://www.github.com/rust-lang/rust/issues/140115) * `140080`: [mir-opt: Use one MirPatch in MatchBranchSimplification](https://www.github.com/rust-lang/rust/issues/140080) * `140664`: [Miri subtree update](https://www.github.com/rust-lang/rust/issues/140664) * `140651`: [Subtree update of `rust-analyzer`](https://www.github.com/rust-lang/rust/issues/140651) * `140453`: [Remove global `next_disambiguator` state and handle it with a `DisambiguatorState` type](https://www.github.com/rust-lang/rust/issues/140453) * `134767`: [Initial support for dynamically linked crates](https://www.github.com/rust-lang/rust/issues/134767) * `140650`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/140650) * `140648`: [Update `compiler-builtins` to 0.1.157](https://www.github.com/rust-lang/rust/issues/140648) * `140644`: [Revert "Avoid unused clones in Cloned<I> and Copied<I>"](https://www.github.com/rust-lang/rust/issues/140644) * `140307`: [Refactor rustc_on_unimplemented's filter parser](https://www.github.com/rust-lang/rust/issues/140307) * `135734`: [Correct `extract_if` sample equivalent.](https://www.github.com/rust-lang/rust/issues/135734) * `140353`: [Weekly `cargo update`](https://www.github.com/rust-lang/rust/issues/140353) * `140646`: [Rollup of 6 pull requests](https://www.github.com/rust-lang/rust/issues/140646) * `140630`: [Async drop source info fix for proxy-drop-coroutine](https://www.github.com/rust-lang/rust/issues/140630) * `140627`: [Allow linking rustc and rustdoc against the same single tracing crate](https://www.github.com/rust-lang/rust/issues/140627) * `140625`: [Suggest `retain_mut` over `retain` as `Vec::extract_if` alternative](https://www.github.com/rust-lang/rust/issues/140625) * `140619`: [Small adjustments to `check_attribute_safety` to make the logic more obvious](https://www.github.com/rust-lang/rust/issues/140619) * `140457`: [Use target-cpu=z13 on s390x codegen const vector test](https://www.github.com/rust-lang/rust/issues/140457) * `137280`: [stabilize ptr::swap_nonoverlapping in const](https://www.github.com/rust-lang/rust/issues/137280) * `140599`: [compiletest: Support matching on non-json lines in compiler output](https://www.github.com/rust-lang/rust/issues/140599) * `140580`: [Don't name variables from external macros in borrow errors.](https://www.github.com/rust-lang/rust/issues/140580) * `140616`: [compiletest: Do not require annotations on empty labels and suggestions](https://www.github.com/rust-lang/rust/issues/140616) * `140633`: [Rollup of 7 pull requests](https://www.github.com/rust-lang/rust/issues/140633) * `140626`: [allow `#[rustfmt::skip]` in combination with `#[naked]`](https://www.github.com/rust-lang/rust/issues/140626) * `140617`: [Report the `unsafe_attr_outside_unsafe` lint at the closest node](https://www.github.com/rust-lang/rust/issues/140617) * `140588`: [Adjust some ui tests re. target-dependent errors](https://www.github.com/rust-lang/rust/issues/140588) * `140551`: [Move some tests out of tests/ui](https://www.github.com/rust-lang/rust/issues/140551) * `140456`: [Fix test simd/extract-insert-dyn on s390x](https://www.github.com/rust-lang/rust/issues/140456) * `140286`: [Check if format argument is identifier to avoid error err-emit](https://www.github.com/rust-lang/rust/issues/140286) * `139675`: [Add the AVX10 target features](https://www.github.com/rust-lang/rust/issues/139675) * `140549`: [Set groundwork for proper const normalization](https://www.github.com/rust-lang/rust/issues/140549) * `140535`: [Update hashbrown dependency to unblock ExtractIf improvements](https://www.github.com/rust-lang/rust/issues/140535) * `140502`: [Update to LLVM 20.1.4](https://www.github.com/rust-lang/rust/issues/140502) * `140613`: [Rollup of 7 pull requests](https://www.github.com/rust-lang/rust/issues/140613) * `140604`: [yet another small borrowck cleanup ](https://www.github.com/rust-lang/rust/issues/140604) * `140597`: [zkvm: remove schmerik as target maintainer](https://www.github.com/rust-lang/rust/issues/140597) * `140595`: [doc(std): fix typo lchown -> lchmod](https://www.github.com/rust-lang/rust/issues/140595) * `140582`: [Update sysinfo to `0.35.0` in bootstrap and `tools/opt-dist`](https://www.github.com/rust-lang/rust/issues/140582) * `140576`: [Remove fragile equal-pointers-unequal tests.](https://www.github.com/rust-lang/rust/issues/140576) * `140395`: [organize and extend forbidden target feature tests](https://www.github.com/rust-lang/rust/issues/140395) * `138712`: [resolve: Support imports of associated types and glob imports from traits](https://www.github.com/rust-lang/rust/issues/138712) * `140464`: [Use a closure instead of three chained iterators](https://www.github.com/rust-lang/rust/issues/140464) * `140608`: [Rollup of 8 pull requests](https://www.github.com/rust-lang/rust/issues/140608) * `140606`: [Improve hir pretty printing](https://www.github.com/rust-lang/rust/issues/140606) * `140568`: [Add regression test for #140545](https://www.github.com/rust-lang/rust/issues/140568) * `140564`: [Use present indicative tense in std::io::pipe() API docs](https://www.github.com/rust-lang/rust/issues/140564) * `140548`: [Emit user type annotations for free consts in pattern position](https://www.github.com/rust-lang/rust/issues/140548) * `140546`: [Remove backtrace dep from anyhow in features status dump tool](https://www.github.com/rust-lang/rust/issues/140546) * `140534`: [PassWrapper: adapt for llvm/llvm-project@f137c3d592e96330e450a8fd63ef…](https://www.github.com/rust-lang/rust/issues/140534) * `140505`: [linker: Quote symbol names in .def files](https://www.github.com/rust-lang/rust/issues/140505) * `139343`: [Change signature of File::try_lock and File::try_lock_shared](https://www.github.com/rust-lang/rust/issues/139343) * `140442`: [mono collector: Reduce # of locking while walking the graph](https://www.github.com/rust-lang/rust/issues/140442) * `140596`: [Rollup of 9 pull requests](https://www.github.com/rust-lang/rust/issues/140596) * `140574`: [Add regression test for 133065](https://www.github.com/rust-lang/rust/issues/140574) * `140572`: [Add useful comments on `ExprKind::If` variants.](https://www.github.com/rust-lang/rust/issues/140572) * `140563`: [extend the list of registered dylibs on `test::prepare_cargo_test`](https://www.github.com/rust-lang/rust/issues/140563) * `140550`: [Stabilize `select_unpredictable`](https://www.github.com/rust-lang/rust/issues/140550) * `140536`: [Rename `*Guard::try_map` to `filter_map`.](https://www.github.com/rust-lang/rust/issues/140536) * `140521`: [interpret: better error message for out-of-bounds pointer arithmetic and accesses](https://www.github.com/rust-lang/rust/issues/140521) * `140519`: [Use select in projection lookup in `report_projection_error`](https://www.github.com/rust-lang/rust/issues/140519) * `140509`: [transmutability: merge contiguous runs with a common destination](https://www.github.com/rust-lang/rust/issues/140509) * `140485`: [Optimize the codegen for `Span::from_expansion`](https://www.github.com/rust-lang/rust/issues/140485) * `140406`: [perf: delay checking of `#[rustc_no_implicit_autorefs]` in autoref lint](https://www.github.com/rust-lang/rust/issues/140406) * `140581`: [Rollup of 12 pull requests](https://www.github.com/rust-lang/rust/issues/140581) * `140507`: [rustc_target: RISC-V: feature addition batch 3](https://www.github.com/rust-lang/rust/issues/140507) * `140430`: [Improve test coverage of HIR pretty printing.](https://www.github.com/rust-lang/rust/issues/140430) * `140389`: [Remove `avx512dq` and `avx512vl` implication for `avx512fp16`](https://www.github.com/rust-lang/rust/issues/140389) * `140197`: [Document breaking out of a named code block](https://www.github.com/rust-lang/rust/issues/140197) * `140159`: [Avoid redundant WTF-8 checks in `PathBuf`](https://www.github.com/rust-lang/rust/issues/140159) * `139847`: [Delegate to inner `vec::IntoIter` from `env::ArgsOs`](https://www.github.com/rust-lang/rust/issues/139847) * `139608`: [Clarify `async` block behaviour](https://www.github.com/rust-lang/rust/issues/139608) * `139206`: [std: use the address of `errno` to identify threads in `unique_thread_exit`](https://www.github.com/rust-lang/rust/issues/139206) * `139046`: [Improve `Lifetime::suggestion`](https://www.github.com/rust-lang/rust/issues/139046) * `138872`: [rustc_target: RISC-V `Zfinx` is incompatible with `{ILP32,LP64}[FD]` ABIs](https://www.github.com/rust-lang/rust/issues/138872) * `137474`: [pretty-print: Print shebang at the top of the output](https://www.github.com/rust-lang/rust/issues/137474) * `134034`: [handle paren in macro expand for let-init-else expr](https://www.github.com/rust-lang/rust/issues/134034) * `139883`: [crashes: more tests](https://www.github.com/rust-lang/rust/issues/139883) * `140540`: [Clippy subtree update](https://www.github.com/rust-lang/rust/issues/140540) * `140565`: [Rollup of 12 pull requests](https://www.github.com/rust-lang/rust/issues/140565) * `140556`: [Improve error output in case `nodejs` or `npm` is not installed for rustdoc-gui test suite](https://www.github.com/rust-lang/rust/issues/140556) * `140552`: [allow `#[rustc_std_internal_symbol]` in combination with `#[naked]`](https://www.github.com/rust-lang/rust/issues/140552) * `140544`: [Clean up "const" situation in format_args!(). ](https://www.github.com/rust-lang/rust/issues/140544) * `140538`: [rustc-dev-guide subtree update](https://www.github.com/rust-lang/rust/issues/140538) * `140460`: [Fix handling of LoongArch target features not supported by LLVM 19](https://www.github.com/rust-lang/rust/issues/140460) * `140420`: [rustdoc: Fix doctest heuristic for main fn wrapping](https://www.github.com/rust-lang/rust/issues/140420) * `140062`: [std: mention `remove_dir_all` can emit `DirectoryNotEmpty` when concurrently written into](https://www.github.com/rust-lang/rust/issues/140062) * `140034`: [simd_select_bitmask: the 'padding' bits in the mask are just ignored](https://www.github.com/rust-lang/rust/issues/140034) * `139802`: [Fix some grammar errors and hyperlinks in doc for `trait Allocator`](https://www.github.com/rust-lang/rust/issues/139802) * `139780`: [docs: Add example to `Iterator::take` with `by_ref`](https://www.github.com/rust-lang/rust/issues/139780) * `139186`: [Refactor `diy_float`](https://www.github.com/rust-lang/rust/issues/139186) * `138703`: [chore: remove redundant words in comment](https://www.github.com/rust-lang/rust/issues/138703) * `139965`: [Decouple SCC annotations from SCCs](https://www.github.com/rust-lang/rust/issues/139965) * `138522`: [shared-generics: Do not share instantiations that contain local-only types](https://www.github.com/rust-lang/rust/issues/138522) * `140145`: [Add a jobserver proxy to ensure at least one token is always held](https://www.github.com/rust-lang/rust/issues/140145) * `121909`: [Drop AST on a separate thread and prefetch `hir_crate`](https://www.github.com/rust-lang/rust/issues/121909) * `140529`: [Rollup of 10 pull requests](https://www.github.com/rust-lang/rust/issues/140529) * `140494`: [Parser: Document restrictions](https://www.github.com/rust-lang/rust/issues/140494) * `140486`: [rustfmt: Also allow bool literals as first item of let chain](https://www.github.com/rust-lang/rust/issues/140486) * `140481`: [Require sanitizers be enabled for asan_odr_windows.rs](https://www.github.com/rust-lang/rust/issues/140481) * `140476`: [chore: delete unused ui/auxiliary crates](https://www.github.com/rust-lang/rust/issues/140476) * `140470`: [CI: rfl: move job forward to Linux v6.15-rc4](https://www.github.com/rust-lang/rust/issues/140470) * `140468`: [Minor tweaks to make some normalization (adjacent) code less confusing](https://www.github.com/rust-lang/rust/issues/140468) * `140467`: [Don't FCW assoc consts in patterns](https://www.github.com/rust-lang/rust/issues/140467) * `140465`: [chore: edit and move tests](https://www.github.com/rust-lang/rust/issues/140465) * `140458`: [Fix for async drop ice with partly dropped tuple](https://www.github.com/rust-lang/rust/issues/140458) * `140385`: [Subtree update of `rust-analyzer`](https://www.github.com/rust-lang/rust/issues/140385) * `140520`: [Rollup of 9 pull requests](https://www.github.com/rust-lang/rust/issues/140520) * `140516`: [Replace use of rustc_type_ir by rustc_middle](https://www.github.com/rust-lang/rust/issues/140516) * `140506`: [unstable-book: fix capitalization](https://www.github.com/rust-lang/rust/issues/140506) * `140504`: [transmutability: ensure_sufficient_stack when answering query](https://www.github.com/rust-lang/rust/issues/140504) * `140498`: [Misc tweaks to HIR typeck (mostly w.r.t. checking calls)](https://www.github.com/rust-lang/rust/issues/140498) * `140450`: [ast: Remove token visiting from AST visitor](https://www.github.com/rust-lang/rust/issues/140450) * `140203`: [Issue an error when using `no_mangle` on language items](https://www.github.com/rust-lang/rust/issues/140203) * `140090`: [Check bare function idents for non snake-case name](https://www.github.com/rust-lang/rust/issues/140090) * `139624`: [Don't allow flattened format_args in const.](https://www.github.com/rust-lang/rust/issues/139624) * `134232`: [Share the naked asm impl between cg_ssa and cg_clif](https://www.github.com/rust-lang/rust/issues/134232) * `140503`: [Rollup of 11 pull requests](https://www.github.com/rust-lang/rust/issues/140503) * `140448`: [Rename `rustc_query_append!` to `rustc_with_all_queries!`](https://www.github.com/rust-lang/rust/issues/140448) * `140446`: [chore: fix some tests](https://www.github.com/rust-lang/rust/issues/140446) * `140445`: [Treat ManuallyDrop as ~const Destruct](https://www.github.com/rust-lang/rust/issues/140445) * `140439`: [miri: algebraic intrinsics: bring back float non-determinism](https://www.github.com/rust-lang/rust/issues/140439) * `140438`: [Add `rust.debug-assertions-tools` option](https://www.github.com/rust-lang/rust/issues/140438) * `140437`: [enable msa feature for mips in codegen tests](https://www.github.com/rust-lang/rust/issues/140437) * `140404`: [rm `TypeVistable` impls for `Canonical`](https://www.github.com/rust-lang/rust/issues/140404) * `140312`: [Improve pretty-printing of braces](https://www.github.com/rust-lang/rust/issues/140312) * `139192`: [mention provenance in the pointer::wrapping_offset docs](https://www.github.com/rust-lang/rust/issues/139192) * `139059`: [uses_power_alignment: wording tweaks](https://www.github.com/rust-lang/rust/issues/139059) * `136160`: [Remove backticks from `ShouldPanic::YesWithMessage`'s `TrFailedMsg`](https://www.github.com/rust-lang/rust/issues/136160) * `139720`: [compiletest: Make diagnostic kind mandatory on line annotations (take 2)](https://www.github.com/rust-lang/rust/issues/139720) * `140188`: [Streamline the `format` macro.](https://www.github.com/rust-lang/rust/issues/140188) * `127516`: [Simplify `LazyAttrTokenStream`](https://www.github.com/rust-lang/rust/issues/127516) * `140023`: [Introduce Arena::try_alloc_from_iter.](https://www.github.com/rust-lang/rust/issues/140023) * `140474`: [Rollup of 7 pull requests](https://www.github.com/rust-lang/rust/issues/140474) * `140433`: [Replace the \01__gnu_mcount_nc to LLVM intrinsic for additional ARM targets](https://www.github.com/rust-lang/rust/issues/140433) * `140432`: [Update documentation for `fn target_config`](https://www.github.com/rust-lang/rust/issues/140432) * `140422`: [unwind: bump `unwinding` dependency to 0.2.6](https://www.github.com/rust-lang/rust/issues/140422) * `140400`: [PassWrapper: adapt for llvm/llvm-project@d3d856ad8469](https://www.github.com/rust-lang/rust/issues/140400) * `140392`: [compiletest: Remove the libtest-based executor and its dependency](https://www.github.com/rust-lang/rust/issues/140392) * `139909`: [implement or-patterns for pattern types](https://www.github.com/rust-lang/rust/issues/139909) * `138344`: [Enable `reliable_f16_math` on x86](https://www.github.com/rust-lang/rust/issues/138344) * `140436`: [Miri subtree update](https://www.github.com/rust-lang/rust/issues/140436) * `137940`: [Extend the alignment check to borrows](https://www.github.com/rust-lang/rust/issues/137940) * `140415`: [Rollup of 10 pull requests](https://www.github.com/rust-lang/rust/issues/140415) * `140402`: [only return nested goals for `Certainty::Yes`](https://www.github.com/rust-lang/rust/issues/140402) * `140396`: [Workaround for windows-gnu rust-lld test failure](https://www.github.com/rust-lang/rust/issues/140396) * `140394`: [Make bootstrap git tests more self-contained](https://www.github.com/rust-lang/rust/issues/140394) * `140391`: [Rename sub_ptr to offset_from_unsigned in docs](https://www.github.com/rust-lang/rust/issues/140391) * `140323`: [Implement the internal feature `cfg_target_has_reliable_f16_f128`](https://www.github.com/rust-lang/rust/issues/140323) * `140302`: [Move inline asm check to typeck, properly handle aliases](https://www.github.com/rust-lang/rust/issues/140302) * `140276`: [Do not compute type_of for impl item if impl where clauses are unsatisfied](https://www.github.com/rust-lang/rust/issues/140276) * `140022`: [allow deref patterns to move out of boxes](https://www.github.com/rust-lang/rust/issues/140022) * `139656`: [Stabilize `slice_as_chunks` library feature](https://www.github.com/rust-lang/rust/issues/139656) * `139308`: [add autodiff inline](https://www.github.com/rust-lang/rust/issues/139308) * `140388`: [Rollup of 7 pull requests](https://www.github.com/rust-lang/rust/issues/140388) * `140379`: [rustc-dev-guide subtree update](https://www.github.com/rust-lang/rust/issues/140379) * `140349`: [ci: use aws codebuild for the `dist-x86_64-linux` job](https://www.github.com/rust-lang/rust/issues/140349) * `140347`: [ci: clean more disk space in codebuild](https://www.github.com/rust-lang/rust/issues/140347) * `140316`: [Introduce `BoxMarker` to improve pretty-printing correctness](https://www.github.com/rust-lang/rust/issues/140316) * `140249`: [Remove `weak` alias terminology](https://www.github.com/rust-lang/rust/issues/140249) * `140220`: [Fix detection of main function if there are expressions around it](https://www.github.com/rust-lang/rust/issues/140220) * `140056`: [Fix a wrong error message in 2024 edition](https://www.github.com/rust-lang/rust/issues/140056) * `123948`: [Async drop codegen](https://www.github.com/rust-lang/rust/issues/123948) * `123239`: [Implement a lint for implicit autoref of raw pointer dereference - take 2](https://www.github.com/rust-lang/rust/issues/123239) Co-authored-by: The 8472 <[email protected]> Co-authored-by: Trevor Gross <[email protected]> Co-authored-by: Nick Kocharhook <[email protected]> Co-authored-by: Trevor Gross <[email protected]> Co-authored-by: bors <[email protected]> Co-authored-by: Mark Rousskov <[email protected]> Co-authored-by: dianne <[email protected]> Co-authored-by: Ralf Jung <[email protected]> Co-authored-by: Madhav Madhusoodanan <[email protected]> Co-authored-by: joboet <[email protected]> Co-authored-by: onur-ozkan <[email protected]> Co-authored-by: Alice Ryhl <[email protected]>
1459: Automated pull from upstream `master` r=Hoverbear a=ferrocene-automations[bot] :warning: **The automation reported these warnings:** :warning: * There are merge conflicts in this PR. Merge conflict markers have been committed. * Couldn't regenerate the `x.py` completions. Please run `./x run generate-completions` after fixing the merge conflicts. This PR pulls the following changes from the upstream repository: * `140252`: [Remove `Ident::empty`](https://www.github.com/rust-lang/rust/issues/140252) * `140176`: [Fix linking statics on Arm64EC](https://www.github.com/rust-lang/rust/issues/140176) * `140818`: [Rollup of 8 pull requests](https://www.github.com/rust-lang/rust/issues/140818) * `140811`: [Enable triagebot note functionality for rust-lang/rust](https://www.github.com/rust-lang/rust/issues/140811) * `140802`: [Add release notes for 1.87.0](https://www.github.com/rust-lang/rust/issues/140802) * `140800`: [Make `rustdoc-tempdir-removal` run-make tests work on other platforms than linux](https://www.github.com/rust-lang/rust/issues/140800) * `140716`: [Improve `-Zremap-path-scope` tests with dependency](https://www.github.com/rust-lang/rust/issues/140716) * `140707`: [Structurally normalize in range pattern checking in HIR typeck](https://www.github.com/rust-lang/rust/issues/140707) * `140684`: [Only include `dyn Trait<Assoc = ...>` associated type bounds for `Self: Sized` associated types if they are provided](https://www.github.com/rust-lang/rust/issues/140684) * `140341`: [Clarify black_box warning a bit](https://www.github.com/rust-lang/rust/issues/140341) * `140095`: [Eliminate `word_and_empty` methods.](https://www.github.com/rust-lang/rust/issues/140095) * `140786`: [Do not deny warnings in "fast" try builds](https://www.github.com/rust-lang/rust/issues/140786) * `140797`: [Rollup of 5 pull requests](https://www.github.com/rust-lang/rust/issues/140797) * `140759`: [[win][arm64] Disable std::fs tests that require symlinks](https://www.github.com/rust-lang/rust/issues/140759) * `140758`: [[win][arm64] Disable MSVC Linker 'Arm Hazard' warning](https://www.github.com/rust-lang/rust/issues/140758) * `140756`: [[arm64] Pointer auth test should link with C static library statically](https://www.github.com/rust-lang/rust/issues/140756) * `140755`: [[win][arm64] Disable various DebugInfo tests that don't work on Arm64 Windows](https://www.github.com/rust-lang/rust/issues/140755) * `140736`: [trait selection: check `&` before suggest remove deref](https://www.github.com/rust-lang/rust/issues/140736) * `140732`: [make it possible to run in-tree rustfmt with `x run rustfmt`](https://www.github.com/rust-lang/rust/issues/140732) * `140781`: [Rollup of 9 pull requests](https://www.github.com/rust-lang/rust/issues/140781) * `140773`: [triagebot: Better message for changes to `tests/rustdoc-json`](https://www.github.com/rust-lang/rust/issues/140773) * `140769`: [Add `DefPathData::OpaqueLifetime` to avoid conflicts for remapped opaque lifetimes](https://www.github.com/rust-lang/rust/issues/140769) * `140764`: [style: Never break within a nullary function call `func()` or a unit literal `()`](https://www.github.com/rust-lang/rust/issues/140764) * `140762`: [rustdoc-json: Remove newlines from attributes](https://www.github.com/rust-lang/rust/issues/140762) * `140711`: [Do not discard constraints on overflow if there was candidate ambiguity](https://www.github.com/rust-lang/rust/issues/140711) * `140641`: [detect additional uses of opaques after writeback](https://www.github.com/rust-lang/rust/issues/140641) * `140579`: [Remove estebank from automated review assignment](https://www.github.com/rust-lang/rust/issues/140579) * `140523`: [Better error message for late/early lifetime param mismatch](https://www.github.com/rust-lang/rust/issues/140523) * `140260`: [Only prefer param-env candidates if they remain non-global after norm](https://www.github.com/rust-lang/rust/issues/140260) * `140106`: [allow deref patterns to participate in exhaustiveness analysis](https://www.github.com/rust-lang/rust/issues/140106) * `140751`: [Rollup of 8 pull requests](https://www.github.com/rust-lang/rust/issues/140751) * `140745`: [run-make-support: set rustc dylib path for cargo wrapper](https://www.github.com/rust-lang/rust/issues/140745) * `140741`: [add armv5te-unknown-linux-gnueabi target maintainer](https://www.github.com/rust-lang/rust/issues/140741) * `140734`: [Fix regression from #140393 for espidf / horizon / nuttx / vita](https://www.github.com/rust-lang/rust/issues/140734) * `140706`: [[rustdoc] Ensure that temporary doctest folder is correctly removed even if doctests failed](https://www.github.com/rust-lang/rust/issues/140706) * `140700`: [Don't crash on error codes passed to `--explain` which exceed our internal limit of 9999 ](https://www.github.com/rust-lang/rust/issues/140700) * `140671`: [Parser: Recover error from named params while parse_path](https://www.github.com/rust-lang/rust/issues/140671) * `140614`: [Correct warning message in restricted visibility](https://www.github.com/rust-lang/rust/issues/140614) * `140234`: [Separate dataflow analysis and results](https://www.github.com/rust-lang/rust/issues/140234) * `140590`: [borrowck nested items in dead code](https://www.github.com/rust-lang/rust/issues/140590) * `139758`: [Use thread local dep graph encoding](https://www.github.com/rust-lang/rust/issues/139758) * `140735`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/140735) * `140724`: [Update `compiler-builtins` to 0.1.158](https://www.github.com/rust-lang/rust/issues/140724) * `140719`: [fix typo in autorefs lint doc example](https://www.github.com/rust-lang/rust/issues/140719) * `140398`: [Fix backtrace for cygwin](https://www.github.com/rust-lang/rust/issues/140398) * `139518`: [Stabilize precise capture syntax in style guide](https://www.github.com/rust-lang/rust/issues/139518) * `137995`: [Remove duplicate impl of string unescape from parse_format](https://www.github.com/rust-lang/rust/issues/137995) * `140726`: [Rollup of 9 pull requests](https://www.github.com/rust-lang/rust/issues/140726) * `140713`: [Structurally resolve in `check_ref_cast` in new solver](https://www.github.com/rust-lang/rust/issues/140713) * `140709`: [rustdoc: remove unportable markdown lint and old parser](https://www.github.com/rust-lang/rust/issues/140709) * `140668`: [Implement `VecDeque::truncate_front()`](https://www.github.com/rust-lang/rust/issues/140668) * `140656`: [collect all Fuchsia bindings into the `fuchsia` module](https://www.github.com/rust-lang/rust/issues/140656) * `140607`: [support duplicate entries in the opaque_type_storage](https://www.github.com/rust-lang/rust/issues/140607) * `140483`: [Comment on `Rc` abort-guard strategy without naming unrelated fn](https://www.github.com/rust-lang/rust/issues/140483) * `140419`: [Move `in_external_macro` to `SyntaxContext`](https://www.github.com/rust-lang/rust/issues/140419) * `139534`: [Added support for `apxf` target feature](https://www.github.com/rust-lang/rust/issues/139534) * `134273`: [de-stabilize bench attribute](https://www.github.com/rust-lang/rust/issues/134273) * `140514`: [Stabilize proc_macro::Span::{file, local_file}.](https://www.github.com/rust-lang/rust/issues/140514) * `140708`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/140708) * `140703`: [Handle PR not found in post-merge workflow](https://www.github.com/rust-lang/rust/issues/140703) * `140692`: [Rename `graph::implementation::Graph` to `LinkedGraph`](https://www.github.com/rust-lang/rust/issues/140692) * `139966`: [coverage: Only merge adjacent coverage spans](https://www.github.com/rust-lang/rust/issues/139966) * `136183`: [Update iterator.rs to use arrays by value](https://www.github.com/rust-lang/rust/issues/136183) * `140702`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/140702) * `140681`: [Don't ignore compiler stderr in `lib-defaults.rs`](https://www.github.com/rust-lang/rust/issues/140681) * `140658`: [`deref_patterns`: let string and byte string literal patterns peel references and smart pointers before matching](https://www.github.com/rust-lang/rust/issues/140658) * `140632`: [add a test for issue rust-lang/rust#81317](https://www.github.com/rust-lang/rust/issues/140632) * `140135`: [Unify sidebar buttons to use the same image](https://www.github.com/rust-lang/rust/issues/140135) * `140561`: [Do not gather local all together at the beginning of typeck](https://www.github.com/rust-lang/rust/issues/140561) * `140695`: [Rollup of 12 pull requests](https://www.github.com/rust-lang/rust/issues/140695) * `140687`: [Update mdbook to 0.4.49](https://www.github.com/rust-lang/rust/issues/140687) * `140678`: [Be a bit more relaxed about not yet constrained infer vars in closure upvar analysis](https://www.github.com/rust-lang/rust/issues/140678) * `140673`: [Clean rustdoc tests folder](https://www.github.com/rust-lang/rust/issues/140673) * `140634`: [Use more accurate ELF flags on MIPS](https://www.github.com/rust-lang/rust/issues/140634) * `140598`: [Steer docs to `utf8_chunks` and `Iterator::take`](https://www.github.com/rust-lang/rust/issues/140598) * `140532`: [Fix RustAnalyzer discovery of rustc's `stable_mir` crate](https://www.github.com/rust-lang/rust/issues/140532) * `140393`: [std: get rid of `sys_common::process`](https://www.github.com/rust-lang/rust/issues/140393) * `140251`: [coverage-dump: Resolve global file IDs to filenames](https://www.github.com/rust-lang/rust/issues/140251) * `140035`: [Implement RFC 3503: frontmatters](https://www.github.com/rust-lang/rust/issues/140035) * `139773`: [Implement `Iterator::last` for `vec::IntoIter`](https://www.github.com/rust-lang/rust/issues/139773) * `139764`: [Consistent trait bounds for ExtractIf Debug impls](https://www.github.com/rust-lang/rust/issues/139764) * `139550`: [Fix `-Zremap-path-scope` rmeta handling](https://www.github.com/rust-lang/rust/issues/139550) * `131160`: [Handle `rustc_middle` cases of `rustc::potential_query_instability` lint](https://www.github.com/rust-lang/rust/issues/131160) * `140682`: [Rollup of 11 pull requests](https://www.github.com/rust-lang/rust/issues/140682) * `140676`: [Update books](https://www.github.com/rust-lang/rust/issues/140676) * `140672`: [Deeply normalize in the new solver in WF](https://www.github.com/rust-lang/rust/issues/140672) * `140670`: [calculate step duration in a panic-safe way](https://www.github.com/rust-lang/rust/issues/140670) * `140661`: [Make `-Zfixed-x18` into a target modifier](https://www.github.com/rust-lang/rust/issues/140661) * `140636`: [implement `PanicTracker` to track `t` panics](https://www.github.com/rust-lang/rust/issues/140636) * `140605`: [`fn check_opaque_type_parameter_valid` defer error](https://www.github.com/rust-lang/rust/issues/140605) * `140559`: [Removing rustc_type_ir in the rustc_infer codebase](https://www.github.com/rust-lang/rust/issues/140559) * `140374`: [Resolve instance for SymFn in global/naked asm](https://www.github.com/rust-lang/rust/issues/140374) * `140357`: [bypass linker configuration and cross target check on `x check`](https://www.github.com/rust-lang/rust/issues/140357) * `140115`: [mir-opt: execute MatchBranchSimplification after GVN](https://www.github.com/rust-lang/rust/issues/140115) * `140080`: [mir-opt: Use one MirPatch in MatchBranchSimplification](https://www.github.com/rust-lang/rust/issues/140080) * `140664`: [Miri subtree update](https://www.github.com/rust-lang/rust/issues/140664) * `140651`: [Subtree update of `rust-analyzer`](https://www.github.com/rust-lang/rust/issues/140651) * `140453`: [Remove global `next_disambiguator` state and handle it with a `DisambiguatorState` type](https://www.github.com/rust-lang/rust/issues/140453) * `134767`: [Initial support for dynamically linked crates](https://www.github.com/rust-lang/rust/issues/134767) * `140650`: [Rollup of 4 pull requests](https://www.github.com/rust-lang/rust/issues/140650) * `140648`: [Update `compiler-builtins` to 0.1.157](https://www.github.com/rust-lang/rust/issues/140648) * `140644`: [Revert "Avoid unused clones in Cloned<I> and Copied<I>"](https://www.github.com/rust-lang/rust/issues/140644) * `140307`: [Refactor rustc_on_unimplemented's filter parser](https://www.github.com/rust-lang/rust/issues/140307) * `135734`: [Correct `extract_if` sample equivalent.](https://www.github.com/rust-lang/rust/issues/135734) * `140353`: [Weekly `cargo update`](https://www.github.com/rust-lang/rust/issues/140353) * `140646`: [Rollup of 6 pull requests](https://www.github.com/rust-lang/rust/issues/140646) * `140630`: [Async drop source info fix for proxy-drop-coroutine](https://www.github.com/rust-lang/rust/issues/140630) * `140627`: [Allow linking rustc and rustdoc against the same single tracing crate](https://www.github.com/rust-lang/rust/issues/140627) * `140625`: [Suggest `retain_mut` over `retain` as `Vec::extract_if` alternative](https://www.github.com/rust-lang/rust/issues/140625) * `140619`: [Small adjustments to `check_attribute_safety` to make the logic more obvious](https://www.github.com/rust-lang/rust/issues/140619) * `140457`: [Use target-cpu=z13 on s390x codegen const vector test](https://www.github.com/rust-lang/rust/issues/140457) * `137280`: [stabilize ptr::swap_nonoverlapping in const](https://www.github.com/rust-lang/rust/issues/137280) * `140599`: [compiletest: Support matching on non-json lines in compiler output](https://www.github.com/rust-lang/rust/issues/140599) * `140580`: [Don't name variables from external macros in borrow errors.](https://www.github.com/rust-lang/rust/issues/140580) * `140616`: [compiletest: Do not require annotations on empty labels and suggestions](https://www.github.com/rust-lang/rust/issues/140616) * `140633`: [Rollup of 7 pull requests](https://www.github.com/rust-lang/rust/issues/140633) * `140626`: [allow `#[rustfmt::skip]` in combination with `#[naked]`](https://www.github.com/rust-lang/rust/issues/140626) * `140617`: [Report the `unsafe_attr_outside_unsafe` lint at the closest node](https://www.github.com/rust-lang/rust/issues/140617) * `140588`: [Adjust some ui tests re. target-dependent errors](https://www.github.com/rust-lang/rust/issues/140588) * `140551`: [Move some tests out of tests/ui](https://www.github.com/rust-lang/rust/issues/140551) * `140456`: [Fix test simd/extract-insert-dyn on s390x](https://www.github.com/rust-lang/rust/issues/140456) * `140286`: [Check if format argument is identifier to avoid error err-emit](https://www.github.com/rust-lang/rust/issues/140286) * `139675`: [Add the AVX10 target features](https://www.github.com/rust-lang/rust/issues/139675) * `140549`: [Set groundwork for proper const normalization](https://www.github.com/rust-lang/rust/issues/140549) * `140535`: [Update hashbrown dependency to unblock ExtractIf improvements](https://www.github.com/rust-lang/rust/issues/140535) * `140502`: [Update to LLVM 20.1.4](https://www.github.com/rust-lang/rust/issues/140502) * `140613`: [Rollup of 7 pull requests](https://www.github.com/rust-lang/rust/issues/140613) * `140604`: [yet another small borrowck cleanup ](https://www.github.com/rust-lang/rust/issues/140604) * `140597`: [zkvm: remove schmerik as target maintainer](https://www.github.com/rust-lang/rust/issues/140597) * `140595`: [doc(std): fix typo lchown -> lchmod](https://www.github.com/rust-lang/rust/issues/140595) * `140582`: [Update sysinfo to `0.35.0` in bootstrap and `tools/opt-dist`](https://www.github.com/rust-lang/rust/issues/140582) * `140576`: [Remove fragile equal-pointers-unequal tests.](https://www.github.com/rust-lang/rust/issues/140576) * `140395`: [organize and extend forbidden target feature tests](https://www.github.com/rust-lang/rust/issues/140395) * `138712`: [resolve: Support imports of associated types and glob imports from traits](https://www.github.com/rust-lang/rust/issues/138712) * `140464`: [Use a closure instead of three chained iterators](https://www.github.com/rust-lang/rust/issues/140464) * `140608`: [Rollup of 8 pull requests](https://www.github.com/rust-lang/rust/issues/140608) * `140606`: [Improve hir pretty printing](https://www.github.com/rust-lang/rust/issues/140606) * `140568`: [Add regression test for #140545](https://www.github.com/rust-lang/rust/issues/140568) * `140564`: [Use present indicative tense in std::io::pipe() API docs](https://www.github.com/rust-lang/rust/issues/140564) * `140548`: [Emit user type annotations for free consts in pattern position](https://www.github.com/rust-lang/rust/issues/140548) * `140546`: [Remove backtrace dep from anyhow in features status dump tool](https://www.github.com/rust-lang/rust/issues/140546) * `140534`: [PassWrapper: adapt for llvm/llvm-project@f137c3d592e96330e450a8fd63ef…](https://www.github.com/rust-lang/rust/issues/140534) * `140505`: [linker: Quote symbol names in .def files](https://www.github.com/rust-lang/rust/issues/140505) * `139343`: [Change signature of File::try_lock and File::try_lock_shared](https://www.github.com/rust-lang/rust/issues/139343) * `140442`: [mono collector: Reduce # of locking while walking the graph](https://www.github.com/rust-lang/rust/issues/140442) * `140596`: [Rollup of 9 pull requests](https://www.github.com/rust-lang/rust/issues/140596) * `140574`: [Add regression test for 133065](https://www.github.com/rust-lang/rust/issues/140574) * `140572`: [Add useful comments on `ExprKind::If` variants.](https://www.github.com/rust-lang/rust/issues/140572) * `140563`: [extend the list of registered dylibs on `test::prepare_cargo_test`](https://www.github.com/rust-lang/rust/issues/140563) * `140550`: [Stabilize `select_unpredictable`](https://www.github.com/rust-lang/rust/issues/140550) * `140536`: [Rename `*Guard::try_map` to `filter_map`.](https://www.github.com/rust-lang/rust/issues/140536) * `140521`: [interpret: better error message for out-of-bounds pointer arithmetic and accesses](https://www.github.com/rust-lang/rust/issues/140521) * `140519`: [Use select in projection lookup in `report_projection_error`](https://www.github.com/rust-lang/rust/issues/140519) * `140509`: [transmutability: merge contiguous runs with a common destination](https://www.github.com/rust-lang/rust/issues/140509) * `140485`: [Optimize the codegen for `Span::from_expansion`](https://www.github.com/rust-lang/rust/issues/140485) * `140406`: [perf: delay checking of `#[rustc_no_implicit_autorefs]` in autoref lint](https://www.github.com/rust-lang/rust/issues/140406) * `140581`: [Rollup of 12 pull requests](https://www.github.com/rust-lang/rust/issues/140581) * `140507`: [rustc_target: RISC-V: feature addition batch 3](https://www.github.com/rust-lang/rust/issues/140507) * `140430`: [Improve test coverage of HIR pretty printing.](https://www.github.com/rust-lang/rust/issues/140430) * `140389`: [Remove `avx512dq` and `avx512vl` implication for `avx512fp16`](https://www.github.com/rust-lang/rust/issues/140389) * `140197`: [Document breaking out of a named code block](https://www.github.com/rust-lang/rust/issues/140197) * `140159`: [Avoid redundant WTF-8 checks in `PathBuf`](https://www.github.com/rust-lang/rust/issues/140159) * `139847`: [Delegate to inner `vec::IntoIter` from `env::ArgsOs`](https://www.github.com/rust-lang/rust/issues/139847) * `139608`: [Clarify `async` block behaviour](https://www.github.com/rust-lang/rust/issues/139608) * `139206`: [std: use the address of `errno` to identify threads in `unique_thread_exit`](https://www.github.com/rust-lang/rust/issues/139206) * `139046`: [Improve `Lifetime::suggestion`](https://www.github.com/rust-lang/rust/issues/139046) * `138872`: [rustc_target: RISC-V `Zfinx` is incompatible with `{ILP32,LP64}[FD]` ABIs](https://www.github.com/rust-lang/rust/issues/138872) * `137474`: [pretty-print: Print shebang at the top of the output](https://www.github.com/rust-lang/rust/issues/137474) * `134034`: [handle paren in macro expand for let-init-else expr](https://www.github.com/rust-lang/rust/issues/134034) * `139883`: [crashes: more tests](https://www.github.com/rust-lang/rust/issues/139883) * `140540`: [Clippy subtree update](https://www.github.com/rust-lang/rust/issues/140540) * `140565`: [Rollup of 12 pull requests](https://www.github.com/rust-lang/rust/issues/140565) * `140556`: [Improve error output in case `nodejs` or `npm` is not installed for rustdoc-gui test suite](https://www.github.com/rust-lang/rust/issues/140556) * `140552`: [allow `#[rustc_std_internal_symbol]` in combination with `#[naked]`](https://www.github.com/rust-lang/rust/issues/140552) * `140544`: [Clean up "const" situation in format_args!(). ](https://www.github.com/rust-lang/rust/issues/140544) * `140538`: [rustc-dev-guide subtree update](https://www.github.com/rust-lang/rust/issues/140538) * `140460`: [Fix handling of LoongArch target features not supported by LLVM 19](https://www.github.com/rust-lang/rust/issues/140460) * `140420`: [rustdoc: Fix doctest heuristic for main fn wrapping](https://www.github.com/rust-lang/rust/issues/140420) * `140062`: [std: mention `remove_dir_all` can emit `DirectoryNotEmpty` when concurrently written into](https://www.github.com/rust-lang/rust/issues/140062) * `140034`: [simd_select_bitmask: the 'padding' bits in the mask are just ignored](https://www.github.com/rust-lang/rust/issues/140034) * `139802`: [Fix some grammar errors and hyperlinks in doc for `trait Allocator`](https://www.github.com/rust-lang/rust/issues/139802) * `139780`: [docs: Add example to `Iterator::take` with `by_ref`](https://www.github.com/rust-lang/rust/issues/139780) * `139186`: [Refactor `diy_float`](https://www.github.com/rust-lang/rust/issues/139186) * `138703`: [chore: remove redundant words in comment](https://www.github.com/rust-lang/rust/issues/138703) * `139965`: [Decouple SCC annotations from SCCs](https://www.github.com/rust-lang/rust/issues/139965) * `138522`: [shared-generics: Do not share instantiations that contain local-only types](https://www.github.com/rust-lang/rust/issues/138522) * `140145`: [Add a jobserver proxy to ensure at least one token is always held](https://www.github.com/rust-lang/rust/issues/140145) * `121909`: [Drop AST on a separate thread and prefetch `hir_crate`](https://www.github.com/rust-lang/rust/issues/121909) * `140529`: [Rollup of 10 pull requests](https://www.github.com/rust-lang/rust/issues/140529) * `140494`: [Parser: Document restrictions](https://www.github.com/rust-lang/rust/issues/140494) * `140486`: [rustfmt: Also allow bool literals as first item of let chain](https://www.github.com/rust-lang/rust/issues/140486) * `140481`: [Require sanitizers be enabled for asan_odr_windows.rs](https://www.github.com/rust-lang/rust/issues/140481) * `140476`: [chore: delete unused ui/auxiliary crates](https://www.github.com/rust-lang/rust/issues/140476) * `140470`: [CI: rfl: move job forward to Linux v6.15-rc4](https://www.github.com/rust-lang/rust/issues/140470) * `140468`: [Minor tweaks to make some normalization (adjacent) code less confusing](https://www.github.com/rust-lang/rust/issues/140468) * `140467`: [Don't FCW assoc consts in patterns](https://www.github.com/rust-lang/rust/issues/140467) * `140465`: [chore: edit and move tests](https://www.github.com/rust-lang/rust/issues/140465) * `140458`: [Fix for async drop ice with partly dropped tuple](https://www.github.com/rust-lang/rust/issues/140458) * `140385`: [Subtree update of `rust-analyzer`](https://www.github.com/rust-lang/rust/issues/140385) * `140520`: [Rollup of 9 pull requests](https://www.github.com/rust-lang/rust/issues/140520) * `140516`: [Replace use of rustc_type_ir by rustc_middle](https://www.github.com/rust-lang/rust/issues/140516) * `140506`: [unstable-book: fix capitalization](https://www.github.com/rust-lang/rust/issues/140506) * `140504`: [transmutability: ensure_sufficient_stack when answering query](https://www.github.com/rust-lang/rust/issues/140504) * `140498`: [Misc tweaks to HIR typeck (mostly w.r.t. checking calls)](https://www.github.com/rust-lang/rust/issues/140498) * `140450`: [ast: Remove token visiting from AST visitor](https://www.github.com/rust-lang/rust/issues/140450) * `140203`: [Issue an error when using `no_mangle` on language items](https://www.github.com/rust-lang/rust/issues/140203) * `140090`: [Check bare function idents for non snake-case name](https://www.github.com/rust-lang/rust/issues/140090) * `139624`: [Don't allow flattened format_args in const.](https://www.github.com/rust-lang/rust/issues/139624) * `134232`: [Share the naked asm impl between cg_ssa and cg_clif](https://www.github.com/rust-lang/rust/issues/134232) * `140503`: [Rollup of 11 pull requests](https://www.github.com/rust-lang/rust/issues/140503) * `140448`: [Rename `rustc_query_append!` to `rustc_with_all_queries!`](https://www.github.com/rust-lang/rust/issues/140448) * `140446`: [chore: fix some tests](https://www.github.com/rust-lang/rust/issues/140446) * `140445`: [Treat ManuallyDrop as ~const Destruct](https://www.github.com/rust-lang/rust/issues/140445) * `140439`: [miri: algebraic intrinsics: bring back float non-determinism](https://www.github.com/rust-lang/rust/issues/140439) * `140438`: [Add `rust.debug-assertions-tools` option](https://www.github.com/rust-lang/rust/issues/140438) * `140437`: [enable msa feature for mips in codegen tests](https://www.github.com/rust-lang/rust/issues/140437) * `140404`: [rm `TypeVistable` impls for `Canonical`](https://www.github.com/rust-lang/rust/issues/140404) * `140312`: [Improve pretty-printing of braces](https://www.github.com/rust-lang/rust/issues/140312) * `139192`: [mention provenance in the pointer::wrapping_offset docs](https://www.github.com/rust-lang/rust/issues/139192) * `139059`: [uses_power_alignment: wording tweaks](https://www.github.com/rust-lang/rust/issues/139059) * `136160`: [Remove backticks from `ShouldPanic::YesWithMessage`'s `TrFailedMsg`](https://www.github.com/rust-lang/rust/issues/136160) * `139720`: [compiletest: Make diagnostic kind mandatory on line annotations (take 2)](https://www.github.com/rust-lang/rust/issues/139720) * `140188`: [Streamline the `format` macro.](https://www.github.com/rust-lang/rust/issues/140188) * `127516`: [Simplify `LazyAttrTokenStream`](https://www.github.com/rust-lang/rust/issues/127516) * `140023`: [Introduce Arena::try_alloc_from_iter.](https://www.github.com/rust-lang/rust/issues/140023) * `140474`: [Rollup of 7 pull requests](https://www.github.com/rust-lang/rust/issues/140474) * `140433`: [Replace the \01__gnu_mcount_nc to LLVM intrinsic for additional ARM targets](https://www.github.com/rust-lang/rust/issues/140433) * `140432`: [Update documentation for `fn target_config`](https://www.github.com/rust-lang/rust/issues/140432) * `140422`: [unwind: bump `unwinding` dependency to 0.2.6](https://www.github.com/rust-lang/rust/issues/140422) * `140400`: [PassWrapper: adapt for llvm/llvm-project@d3d856ad8469](https://www.github.com/rust-lang/rust/issues/140400) * `140392`: [compiletest: Remove the libtest-based executor and its dependency](https://www.github.com/rust-lang/rust/issues/140392) * `139909`: [implement or-patterns for pattern types](https://www.github.com/rust-lang/rust/issues/139909) * `138344`: [Enable `reliable_f16_math` on x86](https://www.github.com/rust-lang/rust/issues/138344) * `140436`: [Miri subtree update](https://www.github.com/rust-lang/rust/issues/140436) * `137940`: [Extend the alignment check to borrows](https://www.github.com/rust-lang/rust/issues/137940) * `140415`: [Rollup of 10 pull requests](https://www.github.com/rust-lang/rust/issues/140415) * `140402`: [only return nested goals for `Certainty::Yes`](https://www.github.com/rust-lang/rust/issues/140402) * `140396`: [Workaround for windows-gnu rust-lld test failure](https://www.github.com/rust-lang/rust/issues/140396) * `140394`: [Make bootstrap git tests more self-contained](https://www.github.com/rust-lang/rust/issues/140394) * `140391`: [Rename sub_ptr to offset_from_unsigned in docs](https://www.github.com/rust-lang/rust/issues/140391) * `140323`: [Implement the internal feature `cfg_target_has_reliable_f16_f128`](https://www.github.com/rust-lang/rust/issues/140323) * `140302`: [Move inline asm check to typeck, properly handle aliases](https://www.github.com/rust-lang/rust/issues/140302) * `140276`: [Do not compute type_of for impl item if impl where clauses are unsatisfied](https://www.github.com/rust-lang/rust/issues/140276) * `140022`: [allow deref patterns to move out of boxes](https://www.github.com/rust-lang/rust/issues/140022) * `139656`: [Stabilize `slice_as_chunks` library feature](https://www.github.com/rust-lang/rust/issues/139656) * `139308`: [add autodiff inline](https://www.github.com/rust-lang/rust/issues/139308) * `140388`: [Rollup of 7 pull requests](https://www.github.com/rust-lang/rust/issues/140388) * `140379`: [rustc-dev-guide subtree update](https://www.github.com/rust-lang/rust/issues/140379) * `140349`: [ci: use aws codebuild for the `dist-x86_64-linux` job](https://www.github.com/rust-lang/rust/issues/140349) * `140347`: [ci: clean more disk space in codebuild](https://www.github.com/rust-lang/rust/issues/140347) * `140316`: [Introduce `BoxMarker` to improve pretty-printing correctness](https://www.github.com/rust-lang/rust/issues/140316) * `140249`: [Remove `weak` alias terminology](https://www.github.com/rust-lang/rust/issues/140249) * `140220`: [Fix detection of main function if there are expressions around it](https://www.github.com/rust-lang/rust/issues/140220) * `140056`: [Fix a wrong error message in 2024 edition](https://www.github.com/rust-lang/rust/issues/140056) * `123948`: [Async drop codegen](https://www.github.com/rust-lang/rust/issues/123948) * `123239`: [Implement a lint for implicit autoref of raw pointer dereference - take 2](https://www.github.com/rust-lang/rust/issues/123239) Co-authored-by: Trevor Gross <[email protected]> Co-authored-by: Nick Kocharhook <[email protected]> Co-authored-by: Trevor Gross <[email protected]> Co-authored-by: bors <[email protected]> Co-authored-by: Mark Rousskov <[email protected]> Co-authored-by: dianne <[email protected]> Co-authored-by: Ralf Jung <[email protected]> Co-authored-by: Madhav Madhusoodanan <[email protected]> Co-authored-by: joboet <[email protected]> Co-authored-by: onur-ozkan <[email protected]> Co-authored-by: Alice Ryhl <[email protected]>
Code
I tried this code: Johni0702/rtp on the dtls-srtp Branch
I expected to see this happen: Compiles successfully as in 1.48
Instead, this happened: Error E0282 in
src/rfc3711.rs
Version it worked on
It most recently worked on: 1.48
Version with regression
rustc --version --verbose
:I tried to minimize the code necessary for reproduction and I got it down to:
The text was updated successfully, but these errors were encountered: