| //@ run-pass | |
| #![allow(dead_code)] | |
| // Regression test for #37154: the problem here was that the cache | |
| // results in a false error because it was caching placeholder results | |
| // even after those placeholder regions had been popped. | |
| trait Foo { | |
| fn method(&self) {} | |
| } | |
| struct Wrapper<T>(T); | |
| impl<T> Foo for Wrapper<T> where for<'a> &'a T: IntoIterator<Item=&'a ()> {} | |
| fn f(x: Wrapper<Vec<()>>) { | |
| x.method(); // This works. | |
| x.method(); // error: no method named `method` | |
| } | |
| fn main() { } |