-
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 7 pull requests #128835
Rollup of 7 pull requests #128835
Conversation
Update NonNull::align_offset quarantees, keeping it in sync with ptr::align_offset
Most float functions are marked `#[inline]` so any float symbols used by these functions only need to be provided if the function itself is used. RFL recently noticed that `next_up`, `next_down`, and `midpoint` for `f32` and `f64` are not inline, which causes linker errors when building with certain configurations [1]. Add the missing attributes so the symbols should no longer be required. Cc: Gary Guo <gary@garyguo.net> Reported-by: Alice Ryhl <aliceryhl@google.com> Link: https://lore.kernel.org/all/20240806150619.192882-1-ojeda@kernel.org/ [1]
…k-nonnull-alignoffset-update, r=Amanieu Update NonNull::align_offset quarantees This PR proposes to update [`NonNull::align_offset`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.align_offset) guarantees, which should to be matched with [`ptr::align_offset`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.align_offset-1) (as `NonNull::align_offset` delegates to `ptr::align_offset`). [PR rust-lang#121201](rust-lang#121201) updated only `ptr::align_offset` docs.
…ir, r=davidtwco Make `validate_mir` ensure the final MIR for all bodies A lot of the crashes tests use `-Zpolymorphize` or `-Zdump-mir` for their side effect of computing the `optimized_mir` for all bodies, which will uncover bugs with late MIR passes like the inliner. I don't like having all these tests depend on `-Zpolymorphize` (or other hacky ways) for no reason, so this PR extends the `-Zvalidate-mir` flag to ensure `optimized_mir`/`mir_for_ctfe` for all body owners during the analysis phase. Two thoughts: 1. This could be moved later in the compilation pipeline I guess? I don't really think it matters, though. 1. This could alternatively be expressed using a new flag, though I don't necessarily see much value in separating these. For example, rust-lang#128171 could have used this flag, in the `tests/ui/polymorphization/inline-incorrect-early-bound.rs`. r? mir
Add regression test Fixes rust-lang#125873
Mark `{f32,f64}::{next_up,next_down,midpoint}` inline Most float functions are marked `#[inline]` so any float symbols used by these functions only need to be provided if the function itself is used. RFL recently noticed that `next_up`, `next_down`, and `midpoint` for `f32` and `f64` are not inline, which causes linker errors when building with certain configurations <https://lore.kernel.org/all/20240806150619.192882-1-ojeda@kernel.org/>. Add the missing attributes so the symbols should no longer be required.
… r=jieyouxu Update E0517 message to reflect RFC 2195. E0517 occurs when a `#[repr(..)]` attribute is placed on an unsupported item. Currently, the explanation of the error implies that `#[repr(u*/i*)]` cannot be placed on fieldful enums, which is no longer the case since [RFC 2195](rust-lang/rfcs#2195) was [stabilized](rust-lang#60553), which allows placing `#[repr(u*/i*)]` and/or `#[repr(C)]` on fieldful enums to produce a defined layout. This PR doesn't (currently) add a description of the semantics of placing `#[repr(u*/i*)]` on a fieldful enum to the error explanation, it just removes the claims/implications that it is not allowed.
…petrochenkov rm `declared_features` field in resolver r? ``@petrochenkov``
…s, r=compiler-errors Only suggest `#[allow]` for `--warn` and `--deny` lint level flags `--force-warn` and `--forbid` cannot be overridden
@bors r+ rollup=never p=7 |
☀️ Test successful - checks-actions |
📌 Perf builds for each rolled up PR:
previous master: 2048386fe2 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (3e9bd8b): 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)Results (secondary 0.7%)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.
CyclesResults (secondary 4.3%)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: 761.822s -> 762.014s (0.03%) |
Successful merges:
validate_mir
ensure the final MIR for all bodies #128612 (Makevalidate_mir
ensure the final MIR for all bodies){f32,f64}::{next_up,next_down,midpoint}
inline #128749 (Mark{f32,f64}::{next_up,next_down,midpoint}
inline)declared_features
field in resolver #128825 (rmdeclared_features
field in resolver)#[allow]
for--warn
and--deny
lint level flags #128826 (Only suggest#[allow]
for--warn
and--deny
lint level flags)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup