blob: 0780109b8432ec5b653fb412705121efa3b762a1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
error[E0053]: method `foo` has an incompatible type for trait
--> $DIR/issue-35869.rs:11:15
|
LL | fn foo(_: fn(u16) -> ()) {}
| ^^^^^^^^^^^^^
| |
| expected `u8`, found `u16`
| help: change the parameter type to match the trait: `fn(u8)`
|
note: type in trait
--> $DIR/issue-35869.rs:2:15
|
LL | fn foo(_: fn(u8) -> ());
| ^^^^^^^^^^^^
= note: expected fn pointer `fn(fn(u8))`
found fn pointer `fn(fn(u16))`
error[E0053]: method `bar` has an incompatible type for trait
--> $DIR/issue-35869.rs:13:15
|
LL | fn bar(_: Option<u16>) {}
| ^^^^^^^^^^^
| |
| expected `u8`, found `u16`
| help: change the parameter type to match the trait: `Option<u8>`
|
note: type in trait
--> $DIR/issue-35869.rs:3:15
|
LL | fn bar(_: Option<u8>);
| ^^^^^^^^^^
= note: expected fn pointer `fn(Option<u8>)`
found fn pointer `fn(Option<u16>)`
error[E0053]: method `baz` has an incompatible type for trait
--> $DIR/issue-35869.rs:15:15
|
LL | fn baz(_: (u16, u16)) {}
| ^^^^^^^^^^
| |
| expected `u8`, found `u16`
| help: change the parameter type to match the trait: `(u8, u16)`
|
note: type in trait
--> $DIR/issue-35869.rs:4:15
|
LL | fn baz(_: (u8, u16));
| ^^^^^^^^^
= note: expected fn pointer `fn((u8, _))`
found fn pointer `fn((u16, _))`
error[E0053]: method `qux` has an incompatible type for trait
--> $DIR/issue-35869.rs:17:17
|
LL | fn qux() -> u16 { 5u16 }
| ^^^
| |
| expected `u8`, found `u16`
| help: change the output type to match the trait: `u8`
|
note: type in trait
--> $DIR/issue-35869.rs:5:17
|
LL | fn qux() -> u8;
| ^^
= note: expected fn pointer `fn() -> u8`
found fn pointer `fn() -> u16`
error: aborting due to 4 previous errors
For more information about this error, try `rustc --explain E0053`.
|