-
Notifications
You must be signed in to change notification settings - Fork 12.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 10 pull requests #106757
Rollup of 10 pull requests #106757
Conversation
LLVM upstream has deprecated llvm::makeArrayRef and will remove it.
…i-obk Fix invalid syntax and incomplete suggestion in impl Trait parameter type suggestions for E0311 Fixes rust-lang#105544 The problems: The suggestion given for E0311 has invalid syntax when the synthetic type parameter is used for Trait type in function declaration: ```rust fn foo(d: impl Sized) -> impl Sized ``` instead of explicitly specified like the following: ```rust fn foo<T: Sized>(d: T) -> impl Sized ``` In addition to the syntax error, the suggestions given for E0311 are not complete when multiple elided lifetimes are involved in lifetime bounds, not all involved parameters are given the named lifetime in the suggestions. For the following test case: ``` fn foo(d: impl Sized, p: &mut ()) -> impl Sized + '_ { (d, p) } ``` a good suggestion should add the lifetime 'a to both d and p, instead of d only: ``` fn foo<'a>(d: impl Sized + 'a, p: &'a mut ()) -> impl Sized + '_ { (d, p) } ``` The Solution: Fix the syntax problem in the suggestions when synthetic type parameter is used, and also add lifetimes for all involved parameters.
…didates, r=oli-obk Prefer non-`[type error]` candidates during selection Fixes rust-lang#102130 Fixes rust-lang#106351 r? types note: Alternatively we could filter out error where-clauses during param-env construction? But we still need to filter out impls with errors during `match_impl`, I think.
…=jackh726 Allow codegen to unsize `dyn*` to `dyn` `dyn* Trait` is just another type that implements `Trait`, so we should be able to unsize `&dyn* Trait` into `&dyn Trait` perfectly fine, same for `Box` and other unsizeable types. Fixes rust-lang#106488
…-errors Hide more of long types in E0271 Fix rust-lang#40186.
std tests: use __OsLocalKeyInner from realstd This is basically the same as rust-lang#100201, but for __OsLocalKeyInner: Some std tests are failing in Miri on Windows because [this static](https://github.com/rust-lang/rust/blob/a377893da2cd7124e5a18c7116cbb70e16dd5541/library/std/src/sys/windows/thread_local_key.rs#L234-L239) is getting duplicated, and Miri does not handle that properly -- Miri does not support this magic `.CRT$XLB` linker section, but instead just looks up this particular hard-coded static in the standard library. This PR lets the test suite use the std static instead of having its own copy. Fixes rust-lang/miri#2754 r? `@thomcc`
Test that we cannot use trait impl methods arguments as defining uses Addresses rust-lang#63063 (comment) r? `@dtolnay`
…errors Conserve cause of `ImplDerivedObligation` in E0599 CC rust-lang#86377.
…ikic rustc_llvm: replace llvm::makeArrayRef with ArrayRef constructors. LLVM upstream has deprecated llvm::makeArrayRef and will remove it.
…er-x, r=jyn514 Revert "warn newer available version of the x tool" Reverts rust-lang#104552 Running the x executable directly created an [issue](rust-lang#106469) here. There are other options for warning a user that a newer version of x exists in the issue's discussion as well. r? `@jyn514`
…ify, r=compiler-errors Clean up `OnUnimplementedFormatString::verify` Lift the always-allowed symbols to a static array and replace a `match iter().find(...)` with `iter().any(...)`
@bors r+ rollup=never p=10 |
☀️ Test successful - checks-actions |
📌 Perf builds for each rolled up PR: previous master: 4887cb18dc In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (2b8590e): comparison URL. Overall result: ❌✅ regressions and improvements - ACTION NEEDEDNext Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis 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.
CyclesThis benchmark run did not return any relevant results for this metric. |
@rust-timer build 07baff06cfbc3515633b29be88f80fb6d846c6d8 |
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (07baff06cfbc3515633b29be88f80fb6d846c6d8): comparison URL. Overall result: ❌ regressions - ACTION NEEDEDBenchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @bors rollup=never Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis 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.
CyclesThis benchmark run did not return any relevant results for this metric. |
Looks like #106309 is responsible for the perf issue. |
…etrochenkov Filter param-env predicates for errors before calling `to_opt_poly_trait_pred` cc rust-lang#106309 rust-lang#106757 (comment) r? `@ghost`
Successful merges:
[type error]
candidates during selection #106309 (Prefer non-[type error]
candidates during selection)dyn*
todyn
#106532 (Allow codegen to unsizedyn*
todyn
)ImplDerivedObligation
in E0599 #106702 (Conserve cause ofImplDerivedObligation
in E0599)OnUnimplementedFormatString::verify
#106748 (Clean upOnUnimplementedFormatString::verify
)Failed merges:
r? @ghost
@rustbot modify labels: rollup
Create a similar rollup