error: implementation of `Trait` is not general enough --> $DIR/issue-59311.rs:17:5 | LL | / pub fn crash(v: &V) LL | | where LL | | for<'a> &'a V: Trait + 'static, | |____________________-----__________- due to a where-clause on `crash`... | | | doesn't satisfy where-clause LL | { LL | v.t(|| {}); | ^^^^^^^^^^ | = note: ...`Trait` would have to be implemented for the type `&'a V` = note: ...but `Trait` is actually implemented for the type `&'0 V`, for some specific lifetime `'0` error: implementation of `Trait` is not general enough --> $DIR/issue-59311.rs:17:5 | LL | / pub fn crash(v: &V) LL | | where LL | | for<'a> &'a V: Trait + 'static, | |____________________-----__________- due to a where-clause on `crash`... | | | doesn't satisfy where-clause LL | { LL | v.t(|| {}); | ^^^^^^^^^^ | = note: ...`Trait` would have to be implemented for the type `&'a V` = note: ...but `Trait` is actually implemented for the type `&'0 V`, for some specific lifetime `'0` = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` error: higher-ranked lifetime error --> $DIR/issue-59311.rs:17:9 | LL | v.t(|| {}); | ^^^^^ | = note: could not prove `for<'a> &'a V: 'b` error: aborting due to 3 previous errors