2016-08-22 03:59:31 -05:00
|
|
|
trait Foo {
|
2017-12-10 14:29:24 -06:00
|
|
|
fn foo(_: fn(u8) -> ());
|
|
|
|
fn bar(_: Option<u8>);
|
|
|
|
fn baz(_: (u8, u16));
|
|
|
|
fn qux() -> u8;
|
2016-08-22 03:59:31 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
struct Bar;
|
|
|
|
|
|
|
|
impl Foo for Bar {
|
|
|
|
fn foo(_: fn(u16) -> ()) {}
|
|
|
|
//~^ ERROR method `foo` has an incompatible type for trait
|
|
|
|
fn bar(_: Option<u16>) {}
|
|
|
|
//~^ ERROR method `bar` has an incompatible type for trait
|
|
|
|
fn baz(_: (u16, u16)) {}
|
|
|
|
//~^ ERROR method `baz` has an incompatible type for trait
|
|
|
|
fn qux() -> u16 { 5u16 }
|
|
|
|
//~^ ERROR method `qux` has an incompatible type for trait
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|