File tree Expand file tree Collapse file tree 1 file changed +11
-24
lines changed Expand file tree Collapse file tree 1 file changed +11
-24
lines changed Original file line number Diff line number Diff line change @@ -65,40 +65,27 @@ impl Foo for Bar {
65
65
"## ,
66
66
67
67
E0053 : r##"
68
- For any given method of a trait, the mutabilities of the parameters must match
69
- between the trait definition and the implementation .
68
+ The parameters of any trait method must match between a trait implementation
69
+ and the trait definition.
70
70
71
- Here's an example where the mutability of the `self` parameter is wrong :
71
+ Here are a couple examples of this error :
72
72
73
73
```
74
- trait Foo { fn foo(&self); }
75
-
76
- struct Bar;
77
-
78
- impl Foo for Bar {
79
- // error, the signature should be `fn foo(&self)` instead
80
- fn foo(&mut self) { }
74
+ trait Foo {
75
+ fn foo(x: u16);
76
+ fn bar(&self);
81
77
}
82
78
83
- fn main() {}
84
- ```
85
-
86
- Here's another example, this time for a non-`self` parameter:
87
-
88
- ```
89
- trait Foo { fn foo(x: &mut bool) -> bool; }
90
-
91
79
struct Bar;
92
80
93
81
impl Foo for Bar {
94
- // error, the type of `x` should be `&mut bool` instead
95
- fn foo(x: &bool) -> bool { *x }
96
- }
82
+ // error, expected u16, found i16
83
+ fn foo(x: i16) { }
97
84
98
- fn main() {}
85
+ // error, values differ in mutability
86
+ fn foo(&mut self) { }
87
+ }
99
88
```
100
-
101
-
102
89
"## ,
103
90
104
91
E0054 : r##"
You can’t perform that action at this time.
0 commit comments