pub struct Nested; pub trait Trait { fn thank_you(x: T); } pub fn abracadabra(_: X) where X: Trait, { } pub fn alacazam() -> X where X: Trait, { } pub trait T1 {} pub trait T2<'a, T> { fn please(_: &'a T); } pub fn presto(_: A, _: B) where A: T1, B: for<'b> T2<'b, Nested>, { } pub trait Shazam {} pub fn bippety() -> &'static X where X: Shazam, { panic!() } pub struct Drizzel(T); impl Drizzel { pub fn boppety(&self) -> &T where T: Shazam, { panic!(); } }