Rollup of 19 pull requests#158811
Conversation
The compiler is removing the `x86-softfloat` [1], thus temporarily add a patch. As usual, the patch will eventually make it to the Linux kernel so that both sides are good. Cc: Ralf Jung <post@ralfj.de> Cc: Alice Ryhl <aliceryhl@google.com> Link: rust-lang#157151 [1] Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
The auto-trait branch of the orphan check inspected the unexpanded self
type, so an impl whose self type was a free (lazy) type alias was
rejected even when the alias resolved to an otherwise valid nominal
type, e.g. `unsafe impl Sync for Alias {}` with `type Alias = Local;`.
Expand free alias types before classifying the self type, mirroring the
locality check above. Expansion still reveals genuinely problematic self
types (trait objects, opaque types, type parameters), so those keep
being rejected.
…s a standalone command - error if RUSTC isn't set, which means it'll fall back to the user-installed default (wrong) - be more specific in `--bless` suggestions that they should use `x test tidy`, not tidy directly.
for non-interactive cases, such as CI, this makes it easier to tell what went wrong without having to interactively debug the problem.
Before this commit, `BlameConstraint` is a bit hard to understand at first, because of its `ObligationCause` field. In practice, `BlameConstraint` is just a slimmed down version of an `OutlivesConstraint` from `Vec<OutlivesConstraint>`. The artificial `ObligationCause` is only needed in one place. Rather than having that exception polute the lower level analysis, bubble it up as much as we can. That way, it becomes clearer what `BlameConstraint` actually is. For reference, `ObligationCause` was introdued by 93ab12e, but the codebase looked quite different back then.
Porting the notes from the stable branch.
…back Co-authored-by: Vin <betadelphini.py@gmail.com>
All call sites use a static `DropKind` value, and we already have a dedicated named method for lints. Switch to only use dedicated methods for consistency.
This enforces the invariant that `size_hint` should always return `(lower_bound(), upper_bound())`.
Leaving the trait in a better state than it previously was. Co-Authored-By: Clar Fon <15850505+clarfonthey@users.noreply.github.com>
and just always show diffs by default. not sure why you'd want to hide them.
…-Simulacrum Add release notes for 1.96.1 Porting the notes from the stable branch.
…=Mark-Simulacrum Implement `IntoIterator` for `[&[mut]] Box<[T; N], A>` Revival of rust-lang#124108
…n-order, r=saethlin MIR Call terminator: evaluate destination place before arguments See rust-lang#155680 for context. Cc @Amanieu @rust-lang/wg-mir-opt Looking at codegen, the order there seems to be - `func` - `dest` - `args` However, the order also should not make any semantic difference since evaluating operands and places are read-only operations. It just matters for Miri since while evaluating arguments we set up "protectors" for in-place arguments.
|
@bors r+ rollup=never p=5 |
|
The job Click to see the possible cause of the failure (guessed by this bot) |
This comment has been minimized.
This comment has been minimized.
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 1c02d90 (parent) -> 3659db0 (this PR) Test differencesShow 870 test diffsStage 1
Stage 2
Additionally, 846 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 3659db0d3e2cd634c766fcda79ed118eca31a9fd --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
📌 Perf builds for each rolled up PR:
previous master: 1c02d9026c In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
|
Finished benchmarking commit (3659db0): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)Results (primary 2.3%, secondary -4.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -15.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary -0.0%, secondary 0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 490.801s -> 491.532s (0.15%) |
Successful merges:
IntoIteratorfor[&[mut]] Box<[T; N], A>#134021 (ImplementIntoIteratorfor[&[mut]] Box<[T; N], A>)transmute_copyto ub_checks and?Sized#155989 (Updatetransmute_copyto ub_checks and?Sized)#[my_macro] mod foo;(part ofproc_macro_hygiene) #157857 (Stabilize#[my_macro] mod foo;(part ofproc_macro_hygiene))ArrayChunks::try_rfoldwithDoubleEndedIterator::next_chunk_back#158704 (OptimizeArrayChunks::try_rfoldwithDoubleEndedIterator::next_chunk_back)SizeHintandIoHandletocore::io#158539 (MoveSizeHintandIoHandletocore::io)coerce_shared_info#158659 (refactor the normalization incoerce_shared_info)Finalizewhen resolving visibilities during AST expansion #158689 (resolver: don't useFinalizewhen resolving visibilities during AST expansion)r? @ghost
Create a similar rollup