add test for ice #121472

Fixes #121472
This commit is contained in:
Matthias Krüger 2024-03-22 08:19:44 +01:00
parent 1bcbed19d1
commit 4d9ce7a1a2
2 changed files with 39 additions and 0 deletions

View File

@ -0,0 +1,16 @@
// test for ICE #121472 index out of bounds un_derefer.rs
#![feature(type_alias_impl_trait)]
trait T {}
type Alias<'a> = impl T;
struct S;
impl<'a> T for &'a S {}
fn with_positive(fun: impl Fn(Alias<'_>)) {}
fn main() {
with_positive(|&n| ());
//~^ ERROR mismatched types
}

View File

@ -0,0 +1,23 @@
error[E0308]: mismatched types
--> $DIR/underef-index-out-of-bounds-121472.rs:14:20
|
LL | type Alias<'a> = impl T;
| ------ the expected opaque type
...
LL | with_positive(|&n| ());
| ^^
| |
| expected opaque type, found `&_`
| expected due to this
|
= note: expected opaque type `Alias<'_>`
found reference `&_`
help: consider removing `&` from the pattern
|
LL - with_positive(|&n| ());
LL + with_positive(|n| ());
|
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0308`.