Rollup of 6 pull requests#153579
Conversation
Currently we have a single `core::num` module that contains both thin wrapper API and higher-complexity numeric routines. Restructure this by moving implementation details to a new `imp` module. This results in a more clean separation of what is actually user-facing compared to items that have a stability attribute because they are public for testing.
Follow up to the previous commit refactoring `core::num` by moving the user-facing error types and trait implementations back out of `imp` and into a new module under `core::num`.
Also updates the marker_impls macro docs to use PointeeSized bound, as most uses of the macro now do.
Split binarycat's entry into multiple lines, one for each extra email
Main changes: - Inline `encode_query_cache` and `TyCtxt::serialize_query_result_cache` - Pull value promotion out of `OnDiskCache::drop_serialized_data` - Panic if `on_disk_cache` is None in an incremental-only path
…Simulacrum std: use `OnceLock` for Xous environment variables There's no need for exposed-provenance-shenanigans here... CC @xobs
…ointee, r=Mark-Simulacrum Update `UnsafeUnpin` impls involving extern types. `UnsafeUnpin` tracking issue: rust-lang#125735 Relaxes from `T: ?Sized` (i.e. `T: MetaSized`) to `T: PointeeSized` for the `UnsafeUnpin` impls for pointers, references, and `PhantomData<T>`, and for the negative `UnsafeUnpin` impl for `UnsafePinned<T>`. (Compare to the impls for `Freeze` on lines 911-921.) Both `UnsafeUnpin` and `extern type`s (the only way to have a `!MetaSized` type) are unstable, so this should have no effect on stable code. Also updates the marker_impls macro docs to use PointeeSized bound, as most uses of the macro now do. Concretely, this change means that the following types will newly implement `UnsafeUnpin`: * pointers and references to `T` where `T` is an `extern type` * `PhantomData<T>` where `T` is an extern type * either of the above where `T` is a `struct` or tuple with `extern type` tail Additionally, the negative `UnsafeUnpin` impl for `UnsafePinned<T>` is also relaxed to `T: PointeeSized` to align with the analogous negative `Freeze` impl for `UnsafeCell<T>`, even though both structs have `T: ?Sized` in their declaration (which probably should be relaxed, but that is a separate issue), so this part of the change doesn't actually *do* anything currently, but if `UnsafeCell` and `UnsafePinned` are later relaxed to `T: PointeeSized`, then the negative impl will apply to the newly possible instantiations. Also cc rust-lang#152645 that these impls compile at all.
Inline and simplify some code for saving incremental data to disk Main changes: - Inline `encode_query_cache` and `TyCtxt::serialize_query_result_cache` - Pull value promotion out of `OnDiskCache::drop_serialized_data` - Panic if `on_disk_cache` is None in an incremental-only path
…Simulacrum num: Separate public API from internal implementations Currently we have a single `core::num` module that contains both thin wrapper API and higher-complexity numeric routines. Restructure this by moving implementation details to a new `imp` module. This results in a more clean separation of what is actually user-facing compared to items that have a stability attribute because they are public for testing. The first commit does the actual change then the second moves a portion back.
…rycat .mailmap: fix broken line with multiple emails Split binarycat's entry into multiple lines, one for each extra email
…bi1kenobi,GuillaumeGomez rustdoc-json: fix incorrect documentation for VariantKind::Struct Seems to have been copy-and-pasted from `Enum::variants`, but `VariantKind::Struct::fields` is for struct variant fields, not enum variants.
|
@bors r+ rollup=never p=5 |
|
Trying commonly failed jobs |
|
⌛ Trying commit 934afe3 with merge d17b226… To cancel the try build, run the command Workflow: https://github.com/rust-lang/rust/actions/runs/22830689455 |
Rollup of 6 pull requests try-job: test-various try-job: x86_64-gnu-aux try-job: x86_64-gnu-llvm-21-3 try-job: x86_64-msvc-1 try-job: aarch64-apple try-job: x86_64-mingw-1
This comment has been minimized.
This comment has been minimized.
|
💥 Test timed out after |
|
📌 Perf builds for each rolled up PR:
previous master: b41f22de2a In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing b41f22d (parent) -> eda4fc7 (this PR) Test differencesShow 2704 test diffs2704 doctest diffs were found. These are ignored, as they are noisy. Test dashboardRun And then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (eda4fc7): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)This benchmark run did not return any relevant results for this metric. CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 478.517s -> 479.713s (0.25%) |
Successful merges:
OnceLockfor Xous environment variables #152535 (std: useOnceLockfor Xous environment variables)UnsafeUnpinimpls involving extern types. #152646 (UpdateUnsafeUnpinimpls involving extern types.)Failed merges:
r? @ghost
Create a similar rollup