-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Rollup of 8 pull requests #134952
Rollup of 8 pull requests #134952
Conversation
Tracking issue: rust-lang#95629 Unblocked by const_mut_refs being stabilized: rust-lang#129195
…t we set the float ABI explicitly
bootstrap: Make `./x test compiler` actually run the compiler unit tests Fixes rust-lang#134916.
…r=scottmcm Make slice::as_flattened_mut unstably const Tracking issue: rust-lang#95629 Unblocked by const_mut_refs being stabilized: rust-lang#129195
…jhpratt ptr docs: make it clear that we are talking only about memory accesses This should make it harder to take this sentence out of context and misunderstand it.
…ubilee explicitly set float ABI for all ARM targets We currently always set the `FloatABIType` field in the LLVM target machine to `Default`, which means LLVM infers the ARM float ABI (hard vs soft) from the LLVM target triple. This causes problems such as having to set the LLVM triple to `*-gnueabi` for our `musleabi` targets to ensure they get correctly inferred as soft-float targets. It also means rustc doesn't really know which float ABI ends up being used, which is a blocker for rust-lang#134794. So I think we should stop doing that and instead explicitly control that value. That's what this PR implements. See [Zulip](https://rust-lang.zulipchat.com/#narrow/channel/187780-t-compiler.2Fwg-llvm/topic/Softfloat.20ABI.2C.20hardfloat.20instructions) for more context. Best reviewed commit-by-commit. I hope I got all those `llvm_floatabi` values right...
…zed, r=lqd Make sure we check the future type is `Sized` in `AsyncFn*` Fixes rust-lang#134817
…=Noratrieb compiler: Add a statement-of-intent to `rustc_abi` This just documents the most basic idea of what the crate is even for in my view, rather than leaving that strewn about GitHub issues, PR reviews, and Zulip streams. In particular, I hope to make it clearer what code should go in `rustc_abi` and what should not, which is of immediate relevance to contributors. I considered going even further and explaining ideas like "ABI compatibility", prologues, and so on. However, because of the cross-cutting nature of ABI, I think such explanations should probably live in the place for cross-cutting documents: the rustc dev guide. This is only meant to be a quick "by the way".
Convert some `Into` impls into `From` impls From the [`From`](https://doc.rust-lang.org/std/convert/trait.From.html) docs: > One should always prefer implementing `From` over [`Into`](https://doc.rust-lang.org/std/convert/trait.Into.html) because implementing `From` automatically provides one with an implementation of [`Into`](https://doc.rust-lang.org/std/convert/trait.Into.html) thanks to the blanket implementation in the standard library. > > Only implement [`Into`](https://doc.rust-lang.org/std/convert/trait.Into.html) when targeting a version prior to Rust 1.41 and converting to a type outside the current crate. `From` was not able to do these types of conversions in earlier versions because of Rust’s orphaning rules. See [Into](https://doc.rust-lang.org/std/convert/trait.Into.html) for more details. Some of these impls are likely from before 1.41, and then some others were probably just mistakes. Building nightly rust is definitely not supported on 1.41, so let's modernize these impls :D
@bors r+ rollup=never p=5 |
☀️ Test successful - checks-actions |
📌 Perf builds for each rolled up PR:
previous master: 80f5a81df9 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (41b5796): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)This benchmark run did not return any relevant results for this metric. CyclesResults (secondary 2.2%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 760.209s -> 760.034s (-0.02%) |
Successful merges:
./x test compiler
actually run the compiler unit tests #134919 (bootstrap: Make./x test compiler
actually run the compiler unit tests)Sized
inAsyncFn*
#134933 (Make sure we check the future type isSized
inAsyncFn*
)rustc_abi
#134941 (compiler: Add a statement-of-intent torustc_abi
)Into
impls intoFrom
impls #134949 (Convert someInto
impls intoFrom
impls)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup