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!(); } }