-
Notifications
You must be signed in to change notification settings - Fork 13k
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 6 pull requests #100626
Rollup of 6 pull requests #100626
Conversation
Passes tests
Previously added a blank _ => {} for match statements
fix: make `concat!` work with char Fixes rust-lang#12921 - I avoided making `unquote_str()` take char literals as well because it's depended on by another function `parse_string()` that's only supposed to take strings. - Even with this patch, we don't output `\0` as `\u{0}` which rust-lang#12921 pointed out ~~, but we're not actually responsible for serializing it but rowan is~~. They are functionally equivalent and I don't think it'd cause any confusion, but we *could* try escaping them before serialization (for reference, `rustc -Zunpretty=expanded`, which `cargo expand` uses under the hood, [makes use of `str::escape_default()`](https://github.com/rust-lang/rust/blob/3830ecaa8db798d2727cbdfa4ddf314ff938f268/compiler/rustc_ast/src/util/literal.rs#L161).
Add fixups for incomplete in proc-macros Partially implements rust-lang/rust-analyzer#12777. Added support for for loops and match statements. I couldn't do paths like `crate::foo::` as I wasn't able to add `SyntheticTokens` to the end of `foo::`, they always ended up after `crate::` This is my first contribution so please don't be shy about letting me know if I've done anything wrong!
Generate rust type from json fix rust-lang#10118 Should this be a diagnostic? I made it a diagnostic because of issue label.
…Veykril internal: Document CLI flag stability
[code] make toggleInlayHints understand {off,on}UntilPressed fixes rust-lang#12964
…r=Veykril Parse range patterns in struct and slice without trailing comma Resolves rust-lang#12935 This patch includes the support for range patterns in slices, which is unstable (tracked in rust-lang#67264). If it's not desired I can remove it.
Corrected order of printing op and `=` Fixes rust-lang/rust-analyzer#12971 where `Display` impl for assignment operators does `=+` instead of `+=`
Remove imports that are also in edition 2021's prelude small cleanup
Fix pattern field completions not working for unions
Recover from missing ellipsis in record literals for path expressions
…fn-trait-error, r=cjgillot Fix nonsense non-tupled `Fn` trait error Given this code: ```rust #![feature(unboxed_closures)] fn a<F: Fn<usize>>(f: F) {} fn main() { a(|_: usize| {}); } ``` We currently emit this error: ``` error[E0631]: type mismatch in closure arguments --> src/main.rs:6:5 | 6 | a(|_: usize| {}); | ^ ---------- found signature of `fn(usize) -> _` | | | expected signature of `fn(usize) -> _` | note: required by a bound in `a` --> src/main.rs:3:9 | 3 | fn a<F: Fn<usize>>(f: F) {} | ^^^^^^^^^ required by this bound in `a` For more information about this error, try `rustc --explain E0631`. error: could not compile `playground` due to previous error ``` Notably, it says the same thing for "expected" and "found"! Fix the output so that we instead emit: ``` error[E0308]: mismatched types --> /home/gh-compiler-errors/test.rs:6:5 | 6 | a(|_: usize| {}); | ^ types differ | = note: expected trait `Fn<usize>` found trait `Fn<(usize,)>` note: required by a bound in `a` --> /home/gh-compiler-errors/test.rs:3:9 | 3 | fn a<F: Fn<usize>>(f: F) {} | ^^^^^^^^^ required by this bound in `a` error: aborting due to previous error ``` The error could still use some work, namely the "mismatched types" part, but I'm leaving it a bit rough since the only way you'd ever get this error is when you're messing with `#![feature(unboxed_closures)]`. Simply making sure we actually print out the difference in trait-refs is good enough for me. I could probably factor in some additional improvements if those are desired.
Extend invalid floating point literal suffix suggestion Fixes rust-lang#100527
… r=spastorino Ast and parser tweaks r? `@spastorino`
compiletest: fix typo in runtest.rs nonexistant -> nonexistent
…r=lnicola ⬆️ rust-analyzer r? `@ghost`
Support 128-bit atomics on all aarch64 targets Some aarch64 targets currently set `max_atomic_width` to 64, but aarch64 always supports 128-bit atomics. r? `@Amanieu`
@bors r+ rollup=never p=5 |
⌛ Testing commit 35bd1d6 with merge 4cbfe643c7010b0ac445023f1997882a01c7cd9f... |
💥 Test timed out |
@bors retry |
☀️ Test successful - checks-actions |
📌 Perf builds for each rolled up PR: In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (5746c75): comparison url. Instruction count
Max RSS (memory usage)Results
CyclesResults
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. @rustbot label: -perf-regression Footnotes |
Successful merges:
Fn
trait error #99942 (Fix nonsense non-tupledFn
trait error)Failed merges:
r? @ghost
@rustbot modify labels: rollup
Create a similar rollup