Rollup merge of #68958 - GuillaumeGomez:clean-up-e0277-e0282, r=Dylan-DPC
Clean up E0277 and E0282 explanations r? @Dylan-DPC
This commit is contained in:
commit
8333115100
2 changed files with 14 additions and 8 deletions
|
|
@ -1,5 +1,7 @@
|
|||
You tried to use a type which doesn't implement some trait in a place which
|
||||
expected that trait. Erroneous code example:
|
||||
expected that trait.
|
||||
|
||||
Erroneous code example:
|
||||
|
||||
```compile_fail,E0277
|
||||
// here we declare the Foo trait with a bar method
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
The compiler could not infer a type and asked for a type annotation.
|
||||
|
||||
Erroneous code example:
|
||||
|
||||
```compile_fail,E0282
|
||||
let x = "hello".chars().rev().collect();
|
||||
```
|
||||
|
||||
This error indicates that type inference did not result in one unique possible
|
||||
type, and extra information is required. In most cases this can be provided
|
||||
by adding a type annotation. Sometimes you need to specify a generic type
|
||||
|
|
@ -8,13 +16,9 @@ parameter with a `FromIterator` bound, which for a `char` iterator is
|
|||
implemented by `Vec` and `String` among others. Consider the following snippet
|
||||
that reverses the characters of a string:
|
||||
|
||||
```compile_fail,E0282
|
||||
let x = "hello".chars().rev().collect();
|
||||
```
|
||||
|
||||
In this case, the compiler cannot infer what the type of `x` should be:
|
||||
`Vec<char>` and `String` are both suitable candidates. To specify which type to
|
||||
use, you can use a type annotation on `x`:
|
||||
In the first code example, the compiler cannot infer what the type of `x` should
|
||||
be: `Vec<char>` and `String` are both suitable candidates. To specify which type
|
||||
to use, you can use a type annotation on `x`:
|
||||
|
||||
```
|
||||
let x: Vec<char> = "hello".chars().rev().collect();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue