blob: 9c6c5bfe78c733a4e5d51aac4795f3d06c02ac54 [file] [log] [blame]
// run-pass
#![allow(unused_variables)]
use std::marker::PhantomData;
struct TheType<T> {
t: PhantomData<T>
}
pub trait TheTrait {
type TheAssociatedType;
}
impl TheTrait for () {
type TheAssociatedType = ();
}
pub trait Shape<P: TheTrait> {
fn doit(&self) {
}
}
impl<P: TheTrait> Shape<P> for TheType<P::TheAssociatedType> {
}
fn main() {
let ball = TheType { t: PhantomData };
let handle: &Shape<()> = &ball;
}