diff options
| author | Stuart Cook <Zalathar@users.noreply.github.com> | 2025-04-11 13:31:49 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-11 13:31:49 +1000 |
| commit | 25d282efd49c0dcf6bff71fe4e2cf38b2a111d8a (patch) | |
| tree | 862fd61d82219bf22926640370c2d1c7b9d25b5a /compiler/rustc_interface/src | |
| parent | c8acc23d1d01f67ec77353a93f1585c46f021876 (diff) | |
| parent | 8f00b1fdad0c60220625bace86510db125ecf31a (diff) | |
| download | rust-25d282efd49c0dcf6bff71fe4e2cf38b2a111d8a.tar.gz rust-25d282efd49c0dcf6bff71fe4e2cf38b2a111d8a.zip | |
Rollup merge of #139641 - BoxyUwU:allow_parend_array_len_infer, r=compiler-errors
Allow parenthesis around inferred array lengths
In #135272 it was noticed that we weren't handling `Vec<(((((_)))))>` correctly under the new desugaring for `generic_arg_infer`, this had to be fixed in order to not regress stable code for types that should continue working. This has the side effect of *also* allowing the following to work:
```rust
#![feature(generic_arg_infer)]
struct Bar<const N: usize>;
fn main() {
let a: Bar<((_))> = Bar::<10>;
}
```
However I did not make the same change for array lengths resulting in the following not compiling:
```rust
#![feature(generic_arg_infer)]
fn main() {
let a: [u8; (((_)))] = [2; 2];
let a: [u8; 2] = [2; (((((_)))))];
}
```
This is rather inconsistent as parenthesis around `_` *are* supported for const args to non-arrays, and type args. This PR fixes this allowing the above example to compile. No stable impact.
r? compiler-errors
Diffstat (limited to 'compiler/rustc_interface/src')
0 files changed, 0 insertions, 0 deletions
