// check-pass pub struct Item { _inner: &'static str, } pub struct Bar { items: Vec, 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() {}