#![allow(dead_code)] struct Foo; impl<'a> std::convert::TryFrom<&'a String> for Foo { type Error = std::convert::Infallible; fn try_from(_: &'a String) -> Result { Ok(Foo) } } fn find(_: impl std::convert::TryInto) {} fn main() { find(&String::new()); }