2016-08-22 08:59:31 +00:00
|
|
|
trait Foo {
|
2017-12-10 20:29:24 +00:00
|
|
|
fn foo(_: fn(u8) -> ());
|
|
|
|
fn bar(_: Option<u8>);
|
|
|
|
fn baz(_: (u8, u16));
|
|
|
|
fn qux() -> u8;
|
2016-08-22 08:59:31 +00: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() {}
|