Rollup of 7 pull requests#155687
Conversation
correctly parse `const unsafe trait` implementations.
* Fix E0191 suggestion for empty dyn trait args * Fix tidy check * address code nit * fold test into existing E0191 test
…r=petrochenkov Account for titlecase in casing lints Puts rust-lang#153892 to work. Also contains fixes for Greek final sigma casing. There are probably still some edge cases left to fix. Ideally we would use https://www.unicode.org/reports/tr55/#Identifier-Chunks as a base. @rustbot label A-Unicode A-diagnostics A-lints A-suggestion-diagnostics
…gation-2, r=petrochenkov delegation: support self ty propagation for functions in free to trait reuse This PR adds support for self types specified in free to trait reuse. Up to this point we always generated `Self` despite the fact whether self type was specified or not. Now we use it in signature inheritance. Moreover we no more generate `Self` for static methods. Part of rust-lang#118212. ```rust trait Trait<T> { fn foo<const B: bool>(&self) {} fn bar() {} } impl<T> Trait<T> for usize {} reuse <usize as Trait>::foo; // Desugaring (no `Self` as usize is specified) fn foo<T, const B: bool>(self: &usize) { <usize as Trait::<T>>::foo::<B>(self) } reuse Trait::bar; // Desugaring (no `Self` as static method) fn bar<T>() { Trait::<T>::bar(); //~ERROR: type annotations needed } ``` r? @petrochenkov
Fix ICE when const closure appears inside a non-const trait method Fixes rust-lang#153891 `hir_body_const_context()` unconditionally delegated to the parent's const context for const closures, returning `None` when the parent had no const context. This caused `mir_const_qualif()` to hit a `span_bug!`, since `mir_promoted()` had already decided to call it based on the closure's own syntactic constness. Fall back to `ConstContext::ConstFn` when the parent's const context is `None`, so that the const closure body is still properly const-checked rather than triggering an ICE. Examining [another attempt](https://github.com/rust-lang/rust/pull/153900/changes) at this issue (which has already been closed), I thought that its approach represents a workaround fix to avoid inconsistencies in the caller of `mir_promoted()`, whereas I think the correct behavior is for `hir_body_const_context()` itself to return the proper value.
…order, r=Urgau,fmease,jhpratt Change keyword order for `impl` restrictions Based on rust-lang#155222, this PR reorders keywords in trait definitions to group restrictions with visibility. It changes the order from `pub(...) const unsafe auto impl(...) trait Foo {...}` to `pub(...) impl(...) const unsafe auto trait Foo {...}`. Tracking issue for restrictions: rust-lang#105077 r? @Urgau cc @jhpratt
…rscore-wording, r=adwinwhite Use singular wording for single _ placeholders in type suggestions While looking this part of code, I noticed this FIXME and fixed it :)
…-suggestion, r=fmease Fix E0191 suggestion for empty dyn trait args Fixes rust-lang#155578.
…d, r=JonathanBrouwer Remove `AttributeLintKind` variants - part 6 Part of rust-lang#153099. r? @JonathanBrouwer
|
@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: 2eaa5de4a3 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 2eaa5de (parent) -> 36ba2c7 (this PR) Test differencesShow 60 test diffsStage 1
Stage 2
Additionally, 34 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 36ba2c7712052d731a7082d0eba5ed3d9d56c133 --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 (36ba2c7): comparison URL. Overall result: ❌✅ regressions and improvements - please read:Our benchmarks found a performance regression caused by this PR. Next Steps:
@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)Results (primary 1.2%, secondary 3.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 3.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 490.12s -> 490.512s (0.08%) |
Successful merges:
implrestrictions #155442 (Change keyword order forimplrestrictions)AttributeLintKindvariants - part 6 #155661 (RemoveAttributeLintKindvariants - part 6)r? @ghost
Create a similar rollup