// run-pass
// test that autoderef of a type like this does not
// cause compiler to loop.  Note that no instances
// of such a type could ever be constructed.

struct T(Box<T>);

trait ToStr2 {
    fn my_to_string(&self) -> String;
}

impl ToStr2 for T {
    fn my_to_string(&self) -> String { "t".to_string() }
}

#[allow(dead_code)]
fn new_t(x: T) {
    x.my_to_string();
}

fn main() {
}
