Skip to content

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

Closed
Skgland opened this issue Jan 24, 2021 · 14 comments · Fixed by #140632
Closed

Type can no longer be inferred in 1.49 #81317

Skgland opened this issue Jan 24, 2021 · 14 comments · Fixed by #140632
Labels
A-inference Area: Type inference E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-types Relevant to the types team, which will review and decide on the PR/issue.

Comments

@Skgland
Copy link
Contributor

Skgland commented Jan 24, 2021

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

error[E0282]: type annotations needed
   --> src/rfc3711.rs:477:19
    |
476 |         let iv = iv ^ (BigUint::from(1_u8) << (context.session_encr_key.len() * 8));
    |             -- consider giving `iv` a type
477 |         let iv = &iv.to_bytes_be()[1..context.session_encr_key.len() + 1];
    |                   ^^ cannot infer type
    |
    = note: type must be known at this point

error[E0282]: type annotations needed
   --> src/rfc3711.rs:511:19
    |
510 |         let iv = iv ^ (BigUint::from(1_u8) << (context.session_encr_key.len() * 8));
    |             -- consider giving `iv` a type
511 |         let iv = &iv.to_bytes_be()[1..context.session_encr_key.len() + 1];
    |                   ^^ cannot infer type
    |
    = note: type must be known at this point

error: aborting due to 2 previous errors

Version it worked on

It most recently worked on: 1.48

Version with regression

rustc --version --verbose:

rustc 1.49.0 (e1884a8e3 2020-12-29)
binary: rustc
commit-hash: e1884a8e3c3e813aada8254edfa120e85bf5ffca
commit-date: 2020-12-29
host: x86_64-unknown-linux-gnu
release: 1.49.0

I tried to minimize the code necessary for reproduction and I got it down to:

//file: src/lib.rs
use num::BigUint; // Cargo.toml: num = "0.1"

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];
}
@rustbot rustbot added regression-from-stable-to-stable Performance or correctness regression from one stable version to another. I-prioritize Issue: Indicates that prioritization has been requested for this issue. labels Jan 24, 2021
@Skgland
Copy link
Contributor Author

Skgland commented Jan 24, 2021

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

@camelid camelid added the A-inference Area: Type inference label Jan 24, 2021
@camelid
Copy link
Member

camelid commented Jan 24, 2021

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];
}

(Playground)

Errors:

   Compiling playground v0.0.1 (/playground)
warning: unreachable statement
 --> src/lib.rs:9:5
  |
8 |     let iv: BigUint = todo!();
  |                       ------- any code following this expression is unreachable
9 |     let len: usize = todo!();
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
  |
  = note: `#[warn(unreachable_code)]` on by default

error[E0282]: type annotations needed
  --> src/lib.rs:12:23
   |
11 |     let iv = iv ^ (BigUint::from(1_u8) << (len * 8));
   |         -- consider giving `iv` a type
12 |     let _iv: &[u8] = &iv.to_bytes_be()[1..len + 1];
   |                       ^^ cannot infer type
   |
   = note: type must be known at this point

error: aborting due to previous error; 1 warning emitted

For more information about this error, try `rustc --explain E0282`.
error: could not compile `playground`

To learn more, run the command again with --verbose.

@Skgland
Copy link
Contributor Author

Skgland commented Jan 24, 2021

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!()
    }
}

@ojeda
Copy link
Contributor

ojeda commented Jan 24, 2021

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());
}

@Skgland
Copy link
Contributor Author

Skgland commented Jan 24, 2021

Could this be related to #80816?

@Skgland
Copy link
Contributor Author

Skgland commented Jan 24, 2021

searched nightlies: from nightly-2020-10-01 to nightly-2020-11-14
regressed nightly: nightly-2020-10-07
searched commits: from a1dfd24 to 98edd1f
regressed commit: 08e2d46 (#73905)

bisected with cargo-bisect-rustc v0.6.0

Host triple: x86_64-unknown-linux-gnu
Reproduce with:

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());
}

@mbartlett21
Copy link
Contributor

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?!
}

@Skgland
Copy link
Contributor Author

Skgland commented Jan 25, 2021

@mbartlett21 that does not appear to be a valid reduction as it does not work on 1.48 for me

@Skgland
Copy link
Contributor Author

Skgland commented Jan 25, 2021

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

@apiraino apiraino added P-high High priority and removed I-prioritize Issue: Indicates that prioritization has been requested for this issue. labels Jan 27, 2021
@apiraino
Copy link
Contributor

Assigning P-high as discussed as part of the Prioritization Working Group procedure and removing I-prioritize.

@jackh726 jackh726 added T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-traits Working group: Traits, https://internals.rust-lang.org/t/announcing-traits-working-group/6804 labels Jan 28, 2022
@oli-obk oli-obk self-assigned this Jul 15, 2022
@oli-obk oli-obk added T-types Relevant to the types team, which will review and decide on the PR/issue. and removed WG-traits Working group: Traits, https://internals.rust-lang.org/t/announcing-traits-working-group/6804 labels Jul 15, 2022
@oli-obk
Copy link
Contributor

oli-obk commented Jul 15, 2022

duplicate of #80816 but keeping open so I make sure to test both repros

@pnkfelix
Copy link
Member

Visiting for P-high review.

After some investigation, I do not think this is quite a duplicate of #80816. Or at least, the examples in #80816 are all now spitting out errors about mulitiple applicable impls. No such message is being emitted here.

@oli-obk oli-obk added E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. and removed P-high High priority labels Jan 22, 2025
@oli-obk
Copy link
Contributor

oli-obk commented Jan 22, 2025

Just needs a test, inference changes are unfortunately unavoidable

@oli-obk oli-obk removed their assignment Jan 22, 2025
@Skgland
Copy link
Contributor Author

Skgland commented May 3, 2025

Just needs a test, inference changes are unfortunately unavoidable

I will try to submit a PR adding a test for this.

Skgland added a commit to Skgland/rust that referenced this issue May 3, 2025
bors added a commit to rust-lang-ci/rust that referenced this issue May 6, 2025
…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
@bors bors closed this as completed in 3501842 May 6, 2025
rust-timer added a commit to rust-lang-ci/rust that referenced this issue May 6, 2025
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
bors-ferrocene bot added a commit to ferrocene/ferrocene that referenced this issue May 9, 2025
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]>
bors-ferrocene bot added a commit to ferrocene/ferrocene that referenced this issue May 12, 2025
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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-inference Area: Type inference E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-types Relevant to the types team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants