//@ check-pass pub struct Bar { items: Vec<&'static str>, inner: T, } pub trait IntoBar { fn into_bar(self) -> Bar; } impl<'a, T> IntoBar for &'a str where &'a str: Into { fn into_bar(self) -> Bar { Bar { items: Vec::new(), inner: self.into(), } } } fn main() {}