File tree Expand file tree Collapse file tree 2 files changed +42
-1
lines changed
branches/stable/src/librustc_typeck Expand file tree Collapse file tree 2 files changed +42
-1
lines changed Original file line number Diff line number Diff line change @@ -29,6 +29,6 @@ refs/heads/tmp: e5d90d98402475b6e154ce216f9efcb80da1a747
29
29
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f
30
30
refs/tags/homu-tmp: 1fe32ca12c51afcd761d9962f51a74ff0d07a591
31
31
refs/tags/1.0.0-beta: 8cbb92b53468ee2b0c2d3eeb8567005953d40828
32
- refs/heads/stable: b4481e68deeffc9e6cf4648d10c51750adbb4c3b
32
+ refs/heads/stable: d4c37088ca873a23e58d512d9418f59056477226
33
33
refs/tags/1.0.0: 55bd4f8ff2b323f317ae89e254ce87162d52a375
34
34
refs/tags/1.1.0: bc3c16f09287e5545c1d3f76b7abd54f2eca868b
Original file line number Diff line number Diff line change @@ -211,6 +211,47 @@ Reference:
211
211
http://doc.rust-lang.org/reference.html#trait-objects
212
212
"## ,
213
213
214
+ E0034 : r##"
215
+ The compiler doesn't know what method to call because more than one does
216
+ have the same prototype. Example:
217
+
218
+ ```
219
+ struct Test;
220
+
221
+ trait Trait1 {
222
+ fn foo();
223
+ }
224
+
225
+ trait Trait2 {
226
+ fn foo();
227
+ }
228
+
229
+ impl Trait1 for Test { fn foo() {} }
230
+ impl Trait2 for Test { fn foo() {} }
231
+
232
+ fn main() {
233
+ Test::foo() // error, what foo() to call?
234
+ }
235
+ ```
236
+
237
+ To avoid this error, you have to keep only one of them and remove the others.
238
+ So let's take our example and fix it:
239
+
240
+ ```
241
+ struct Test;
242
+
243
+ trait Trait1 {
244
+ fn foo();
245
+ }
246
+
247
+ impl Trait1 for Test { fn foo() {} }
248
+
249
+ fn main() {
250
+ Test::foo() // and now that's good!
251
+ }
252
+ ```
253
+ "## ,
254
+
214
255
E0035 : r##"
215
256
You tried to give a type parameter where it wasn't needed. Bad example:
216
257
You can’t perform that action at this time.
0 commit comments