| // Regression test for #98693. | |
| // | |
| // The closure encounters an obligation that `T` must outlive `!U1`, | |
| // a placeholder from universe U1. We were ignoring this placeholder | |
| // when promoting the constraint to the enclosing function, and | |
| // thus incorrectly judging the closure to be safe. | |
| fn assert_static<T>() | |
| where | |
| for<'a> T: 'a, | |
| { | |
| } | |
| fn test<T>() { | |
| || { | |
| assert_static::<T>(); | |
| //~^ ERROR the parameter type `T` may not live long enough | |
| }; | |
| } | |
| fn main() {} |