rust/src/test/ui/traits/traits-multidispatch-convert-ambig-dest.rs
2018-12-25 21:08:33 -07:00

31 lines
505 B
Rust

// Check that we get an error in a multidisptach scenario where the
// set of impls is ambiguous.
trait Convert<Target> {
fn convert(&self) -> Target;
}
impl Convert<i8> for i32 {
fn convert(&self) -> i8 {
*self as i8
}
}
impl Convert<i16> for i32 {
fn convert(&self) -> i16 {
*self as i16
}
}
fn test<T,U>(_: T, _: U)
where T : Convert<U>
{
}
fn a() {
test(22, std::default::Default::default());
//~^ ERROR type annotations needed [E0282]
}
fn main() {}