Rollup of 6 pull requests#153278
Conversation
This allows removing the Metadata associated type from BackendTypes.
In Cranelift the regular Type enum can't represent function signatures. Function pointers are represented as plain pointer sized integer.
In Cranelift a Value can't hold arbitrarily sized values.
Avoids GNU ld warnings like: ``` type and size of dynamic symbol `meooooooooooooooow' are not defined ``` First noticed in rust-lang#152451 (comment) with changes from rust-lang#149937.
stabilizes `core::range::RangeToInclusive` add missing trait impls for new RangeToInclusive add missing trait impls for new RangeFrom
It's unused.
It has a single use.
This makes it clear the `CycleError` is not used after the call.
When there are two cases of equal size and importance, I find an if/else expression easier to read than an early return.
It reads better that way.
It's an unnecessary level of indirection.
Calling `abort_if_errors` after emitting an error is guaranteed to call `raise_fatal`, so just do that directly instead.
This exact comment block also appears in `compiler/rustc_middle/src/queries.rs`, which is a better place for it.
`Value` is an unhelpfully generic name. Standard naming procedure for a trait with a single method is for the trait name to match the method name, which is what this commit does. Likewise, the enclosing module is renamed from `values` to `from_cycle_error`. Also add a comment about some non-obvious behaviour.
It has no effect. `symbol_name` is the only query that produces a `SymbolName`. If it was marked with `cycle_delayed_bug`/`cycle_stash` then this `FromCycleError` impl would make sense, but that's not the case. Maybe it was the case in the past.
…ochenkov Various small query cleanups I found these while doing a close read of the query code. r? @oli-obk
…gross35
stabilize new RangeToInclusive type
stabilizes `core::range::RangeToInclusive`
```rust
// in core::range
pub struct RangeToInclusive<Idx> {
pub last: Idx,
}
impl<Idx: fmt::Debug> fmt::Debug for RangeInclusive<Idx> { /* ... */ }
impl<Idx: PartialOrd<Idx>> RangeToInclusive<Idx> {
pub const fn contains<U>(&self, item: &U) -> bool
where
Idx: [const] PartialOrd<U>,
U: ?Sized + [const] PartialOrd<Idx>;
}
impl<T> const RangeBounds<T> for RangeToInclusive<T> { /* ... */ }
impl<T> const RangeBounds<T> for RangeToInclusive<&T> { /* ... */ }
impl<T> const From<RangeToInclusive<T>> for legacy::RangeToInclusive<T> { /* ... */ }
impl<T> const From<legacy::RangeToInclusive<T>> for RangeToInclusive<T> { /* ... */ }
unsafe impl<T> const SliceIndex<[T]> for range::RangeToInclusive<usize> {
type Output = [T];
/* ... */
}
unsafe impl const SliceIndex<str> for range::RangeToInclusive<usize> {
type Output = str;
/* ... */
}
```
Tracking issue: rust-lang#125687
Couple of cg_ssa refactorings These should help a bit with using cg_ssa in cg_clif at some point in the future.
elf-raw-dylib: set type for functions Avoids GNU ld warnings like: ``` type and size of dynamic symbol `meooooooooooooooow' are not defined ``` First noticed in rust-lang#152451 (comment) with changes from rust-lang#149937.
…m, r=ehuss tests/ui/asm: add annotations for reference rules r? ehuss Replaced rust-lang#152881 which got closed when the branch was renamed @rustbot label +A-docs
…-test, r=nnethercote test: add regression test for fuzzy_provenance_casts lint ICE This PR adds a regression test for an ICE in `draw_code_line` that occurred when emitting a `fuzzy_provenance_casts` lint diagnostic for code with an inner attribute spanning the entire file, causing a panic on an empty `file_lines` from a dummy span. The ICE no longer reproduces on the latest main. This PR only adds a regression test to prevent future regressions. The test is based on the auto-reduced code from the issue. rust-lang#137588
|
@bors r+ rollup=never p=5 |
|
Trying commonly failed jobs |
This comment has been minimized.
This comment has been minimized.
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.
|
📌 Perf builds for each rolled up PR:
previous master: 8d50bccc5b 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 8d50bcc (parent) -> 8ddf4ef (this PR) Test differencesShow 34 test diffsStage 1
Stage 2
Additionally, 32 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 8ddf4ef064fb702fed0f3d239ec8d0bac607484e --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 |
|
Finished benchmarking commit (8ddf4ef): 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 (primary -3.0%, secondary -1.9%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 0.7%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 479.657s -> 480.113s (0.10%) |
Successful merges:
r? @ghost
Create a similar rollup