diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-03-18 22:24:36 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-18 22:24:36 +0100 |
| commit | 05f763344d396fa59563da6aafb85c9f5e6716f4 (patch) | |
| tree | 3d5535c0e2ad77bfeb468fe0d1ff6d34b9437534 /compiler/rustc_pattern_analysis/src/rustc.rs | |
| parent | d31b6fb8c06b43536ac5be38462d2a55784e2199 (diff) | |
| parent | 0b2fb8db6540b0548230cd335e7b2a845686f7ea (diff) | |
| download | rust-05f763344d396fa59563da6aafb85c9f5e6716f4.tar.gz rust-05f763344d396fa59563da6aafb85c9f5e6716f4.zip | |
Rollup merge of #121258 - fmease:assoc-const-eq-reject-overly-generic-tys, r=compiler-errors
Reject overly generic assoc const binding types Split off from #119385 to make #119385 easier to review. --- In the *instantiated* type of assoc const bindings 1. reject **early-bound generic params** * Provide a rich error message instead of ICE'ing ([#108271](https://github.com/rust-lang/rust/issues/108271)). * This is a temporary and semi-artificial restriction until the arrival of *generic const generics*. * It's quite possible that rustc could already perfectly support this subset of generic const generics if we just removed some checks (some `.no_bound_vars().expect(…)`) but even if that was the case, I'd rather gate it behind a new feature flag. Reporting an error instead of ICE'ing is a good first step towards an eventual feature gate error. 2. reject **escaping late-bound generic params** * They lead to ICEs before & I'm pretty sure that they remain incorrect even in a world with *generic const generics* --- Together with #118668 & #119385, this supersedes #118360. Fixes #108271.
Diffstat (limited to 'compiler/rustc_pattern_analysis/src/rustc.rs')
0 files changed, 0 insertions, 0 deletions
