Rollup of 8 pull requests#158663
Conversation
While it would be reasonable to expect the Windows linker to handle linker args in the .drectve section identical to cli arguments, as it turns out exporting weak symbols only works when the /EXPORT is in the .drectve section, not when it is a linker argument or when a .DEF file is used.
in `tests/ui/consts/const-eval/raw-bytes.rs` as we now handle this in our modified regex in `runtest`
Specifically, all `//@ ignore-parallel-frontend different alloc ids`
across other tests because they fail with our normalization strategy: `ALLOC0` -> `ALLOC$ID`
Fixes test failures on {aarch64*-none, armv7r-eabihf, thumbv7em-eabi*} targets which
have panic=abort by default
…nstantiate_identity().skip_norm_wip().def_id
The starting point of this commit is that `ModuleData`, `ImportData`, and `DeclData` are all interned, and don't need to be `Clone`. Then there are various types nestled within these types that also don't need to be `Clone`.
Three of the four public allocation functions in `DroplessArena` check that the allocated type doesn't implement `Drop`: `alloc`, `alloc_slice`, `alloc_from_iter`. This commit adds the missing check to `try_alloc_from_iter`. It also moves and reorders some lines in `alloc_from_iter` for consistency with the other methods.
Fixes rust-lang#158388, as per T-libs-api decision there.
…, r=oli-obk Use .drectve for MSVC DLL exports This is a continuation of rust-lang#142568. This fixes the i686 MSVC issue mentioned there: `.def` files accept undecorated names, but `.drectve` `/EXPORT` needs decorated symbol names. The public export name is preserved with `EXPORTAS`. It's worth noting that EII with defaults now also works on MSVC.
…llel-frontend, r=petrochenkov tests: fix: parallel frontend test failures: different alloc ids Removed the `//@ ignore-parallel-frontend different alloc ids` directive from all the ui tests applicable and replaced it with `//@ normalize-stderr` so that all alloc ids mentions are converted into a single placeholder. Thus the tests are passed Part of [rust-lang#154314](rust-lang#154314) r? @petrochenkov
…ping, r=petrochenkov
delegation: support simplest output `Self` mapping
This PR supports simplest output `Self` mapping for callee path if the following conditions are met (see `should_wrap_return_value`).
Example:
```rust
trait Trait {
fn method(&self) -> Self;
fn r#static() -> Self;
fn raw_S(&self) -> S { S }
}
struct S;
impl Trait for S {
fn method(&self) -> S { S }
fn r#static() -> S { S }
}
struct W(S);
impl Trait for W {
#[attr = Inline(Hint)]
fn method(self: _) -> _ { Self { 0: Trait::method(self.0) } }
#[attr = Inline(Hint)]
fn r#static() -> _ { Trait::r#static() }
//~^ WARN: function cannot return without recursing [unconditional_recursion]
#[attr = Inline(Hint)]
fn raw_S(self: _) -> _ { Trait::raw_S(self.0) }
}
impl W {
#[attr = Inline(Hint)]
fn method(self: _) -> _ { Self { 0: Trait::method(self.0) } }
#[attr = Inline(Hint)]
fn r#static() -> _ { Trait::r#static() }
#[attr = Inline(Hint)]
fn raw_S(self: _) -> _ { Trait::raw_S(self.0) }
}
```
~If the above conditions are met, there is no need to propagate generics of a newtype, as unused generics is an error, thus they should be used in a single field and it can be inferred from the return type of callee path.~
~Accessing signatures through queries produced query cycles in one test, so `with_no_trimmed_paths` was used to prevent it, though it can cause other cycles in other situations maybe.~
Part of rust-lang#118212.
r? @petrochenkov
…est, r=joboet
Fix getrandom fallback test on platforms with `panic=abort`
The recently-added linux-getrandom-fallback test fails on targets matching {aarch64*-none, armv7r-eabihf, thumbv7em-eabi*}. This is because those platforms set `panic=abort` by default, and the test relies on being able to catch a panic.
Mark the test as `needs-unwind` so that it won't be run in `panic=abort` configurations.
Also add extra debug information to the panic when getrandom() fails with an unexpected error code on Linux
…nder-def-id, r=lcnr Remove skip_norm_w/i/p().def_id with a helper part of rust-lang#155345 r? @lcnr
…rochenkov Remove unnecessary `Clone` derives on resolver types The starting point of this commit is that `ModuleData`, `ImportData`, and `DeclData` are all interned, and don't need to be `Clone`. Then there are various types nestled within these types that also don't need to be `Clone`. r? @petrochenkov
…, r=Nadrieril Add missing `needs_drop` check to `DroplessArena`. Three of the four public allocation functions in `DroplessArena` check that the allocated type doesn't implement `Drop`: `alloc`, `alloc_slice`, `alloc_from_iter`. This commit adds the missing check to `try_alloc_from_iter`. It also moves and reorders some lines in `alloc_from_iter` for consistency with the other methods. r? @Nadrieril
…arfonthey Document `strip_circumfix` behavior on overlapping prefix and suffix. Fixes rust-lang#158388, as per T-libs-api decision there.
|
@bors r+ rollup=never p=5 |
This comment has been minimized.
This comment has been minimized.
|
📌 Perf builds for each rolled up PR:
previous master: e2b71ade2d 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 e2b71ad (parent) -> 4c9d2bf (this PR) Test differencesShow 440 test diffsStage 1
Stage 2
Additionally, 428 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 4c9d2bfe4ad7a65669098754964aaebe0ec1ced2 --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 (4c9d2bf): 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 3.3%, secondary -2.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -3.0%, secondary -3.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary 0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 490.049s -> 488.059s (-0.41%) |
Successful merges:
Selfmapping #158397 (delegation: support simplest outputSelfmapping)panic=abort#158613 (Fix getrandom fallback test on platforms withpanic=abort)Clonederives on resolver types #158633 (Remove unnecessaryClonederives on resolver types)needs_dropcheck toDroplessArena. #158634 (Add missingneeds_dropcheck toDroplessArena.)strip_circumfixbehavior on overlapping prefix and suffix. #158647 (Documentstrip_circumfixbehavior on overlapping prefix and suffix.)r? @ghost
Create a similar rollup