| #![feature(inherent_associated_types)] | |
| #![allow(incomplete_features)] | |
| // Test if we correctly normalize `S<'a>::P` with respect to late-bound regions. | |
| struct S<'a>(&'a ()); | |
| trait Inter { | |
| type P; | |
| } | |
| impl<'a> S<'a> { | |
| type P = &'a i32; | |
| } | |
| fn ret_ref_local<'e>() -> &'e i32 { | |
| let f: for<'a> fn(&'a i32) -> S<'a>::P = |x| x; | |
| let local = 0; | |
| f(&local) //~ ERROR cannot return value referencing local variable `local` | |
| } | |
| fn main() {} |