-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Rollup of 12 pull requests #129915
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Rollup of 12 pull requests #129915
Conversation
Signed-off-by: David Wood <david@davidtw.co>
…bilee Box validity: update for new zero-sized rules Fixes rust-lang/unsafe-code-guidelines#529 Cc `@joshlf` `@rust-lang/opsem`
…l, r=lcnr Make decoding non-optional `LazyArray` panic if not set Tables may be [defined](https://github.com/rust-lang/rust/blob/9649706eada1b2c68cf6504356efb058f68ad739/compiler/rustc_metadata/src/rmeta/mod.rs#L377) as `optional:` or `defaulted:`. If optional, if we try to read a value from a key that was never encoded, we should panic. This has high value in ensuring correctness over a defaulted table, so the tradeoff is worth considering, since it signals the compiler has a buggy encode impl, rather than just defaulting to a value. HOWEVER, `optional:` arrays were side-stepping this. So this PR fixes that, and makes `optional:` tables of `LazyArray` act like `LazyValue`, and panic if it's not assigned a value during encoding. During this PR, I found that `deduced_param_attrs` has buggy (?? i think??) implementation where it will refuse to encode cross-crate `deduced_param_attrs` unless we're codegening, we're optimizing the library, and incremental is disabled. This seems incredibly wrong, but I don't want to fix it in this PR. https://github.com/rust-lang/rust/blob/9649706eada1b2c68cf6504356efb058f68ad739/compiler/rustc_metadata/src/rmeta/encoder.rs#L1733-L1747
compiler_fence documentation: emphasize synchronization, not reordering Our `fence` docs have at some point been update to explain that they are about synchronization, not about "preventing reordering". This updates the `compiler_fence` docs n the same vein, mostly by referring to the `fence` docs. The old docs make it sound like I can put a compiler_fence in the middle of a bunch of non-atomic operations and that would achieve any kind of guarantee. It does not, atomic operations are still required to do synchronization. I also slightly tweaked the `fence` docs, to put the synchronization first and the "prevent reordering" second. Cc `@rust-lang/opsem` `@chorman0773` `@m-ou-se` Fixes rust-lang#129189 Fixes rust-lang#54962
Remove kobzol vacation status Conflicts with rust-lang#129843, so should be merged after it.
…=compiler-errors,jieyouxu chore: Fix typos in 'compiler' (batch 1) Batch 1/3: Fixes typos in `compiler` (See [issue](rust-lang#129874) tracking all PRs with typos fixes)
…=fee1-dead chore: Fix typos in 'compiler' (batch 2) Batch 2/3: Fixes typos in `compiler` (See [issue](rust-lang#129874) tracking all PRs with typos fixes)
…=jieyouxu chore: Fix typos in 'compiler' (batch 3) Batch 3/3: Fixes typos in `compiler` (See [issue](rust-lang#129874) tracking all PRs with typos fixes)
Remove stray word in a comment
…lfJung Clarify language around ptrs in slice::raw More specifically we explicitly mention that the pointer should be non-null as a top level requirement. Nullptrs are always valid for zero sized operations, so just validity (and alignment) does not guarantee non-nullness as implied in the existing docs. We also explicitly call out ZSTs as an additional example where perhaps unintuitively alignment and non-nullness still have to hold. Finally we change `data` in the range functions to `start`, which seems like a typo to me. Touches docs for rust-lang#89792 r? RalfJung
…, r=lqd mailmap: add new email for davidtwco
mailmapper? I think I have done this right? lol
…apkin Fix compile error in solid's remove_dir_all Before this PR, `x check library/std --target=aarch64-kmc-solid_asp3` will fail with: ``` error[E0382]: use of partially moved value: `result` --> std/src/sys/pal/solid/fs.rs:544:20 | 541 | if let Err(err) = result | --- value partially moved here ... 544 | return result; | ^^^^^^ value used here after partial move | = note: partial move occurs because value has type `io::error::Error`, which does not implement the `Copy` trait help: borrow this binding in the pattern to avoid moving the value | 541 | if let Err(ref err) = result | +++ ``` cc `@kawadakk` I think this will clear up https://solid-rs.github.io/toolstate/ :)
@bors r+ rollup=never p=12 |
☀️ Test successful - checks-actions |
📌 Perf builds for each rolled up PR:
previous master: bd53aa3bf7 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (2251572): 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 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.
CyclesResults (secondary 3.8%)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 sizeResults (secondary -0.1%)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.
Bootstrap: 750.044s -> 749.903s (-0.02%) |
Successful merges:
LazyArray
panic if not set #129829 (Make decoding non-optionalLazyArray
panic if not set)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup