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