// check-pass use std::borrow::Cow; enum _Recursive<'a> where Self: ToOwned> { Variant(MyCow<'a, _Recursive<'a>>), } pub struct Wrapper(T); pub struct MyCow<'a, T: ToOwned> + 'a>(Wrapper>); fn main() {}