1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
// check-pass // edition: 2021 #![allow(incomplete_features)] use std::fmt::Debug; trait Foo<Item> { fn foo<'a>(&'a self) -> impl Debug where Item: 'a; } impl<Item, D: Debug + Clone> Foo<Item> for D { fn foo<'a>(&'a self) -> impl Debug where Item: 'a, { self.clone() } } fn main() {}