use std::fmt::Debug; use std::default::Default; // Test that a blank impl for all T conflicts with an impl for some // specific T, even when there are multiple type parameters involved. trait MyTrait { fn get(&self) -> T; } impl MyTrait for T { fn get(&self) -> T { panic!() } } #[derive(Clone)] struct MyType { dummy: usize } impl MyTrait for MyType { //~^ ERROR E0119 fn get(&self) -> usize { (*self).clone() } //~^ ERROR mismatched types } fn main() { }