| //@ revisions: current next |
| //@[next] compile-flags: -Znext-solver |
| //@ ignore-compare-mode-next-solver (explicit revisions) |
| //@ check-pass |
| |
| // Regression test for the non-defining use error in `gll`. |
| |
| struct Foo; |
| impl Foo { |
| fn recur(&self, b: bool) -> impl Sized + '_ { |
| if b { |
| let temp = Foo; |
| temp.recur(false); |
| // desugars to `Foo::recur(&temp);` |
| } |
| |
| self |
| } |
| |
| fn in_closure(&self) -> impl Sized + '_ { |
| let _ = || { |
| let temp = Foo; |
| temp.in_closure(); |
| // desugars to `Foo::in_closure(&temp);` |
| }; |
| |
| self |
| } |
| } |
| fn main() {} |