From 1177d0669ac213f12aee6c998b47ca1e8904ccf0 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Sat, 8 Feb 2020 15:47:29 +0100 Subject: [PATCH] Clean up E0277 and E0282 explanations --- src/librustc_error_codes/error_codes/E0277.md | 4 +++- src/librustc_error_codes/error_codes/E0282.md | 18 +++++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/librustc_error_codes/error_codes/E0277.md b/src/librustc_error_codes/error_codes/E0277.md index 2034a5b988cbf..2e2cd5e01fb6a 100644 --- a/src/librustc_error_codes/error_codes/E0277.md +++ b/src/librustc_error_codes/error_codes/E0277.md @@ -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 diff --git a/src/librustc_error_codes/error_codes/E0282.md b/src/librustc_error_codes/error_codes/E0282.md index 54a9de0025a3d..49d2205f92c2a 100644 --- a/src/librustc_error_codes/error_codes/E0282.md +++ b/src/librustc_error_codes/error_codes/E0282.md @@ -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` 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` and `String` are both suitable candidates. To specify which type +to use, you can use a type annotation on `x`: ``` let x: Vec = "hello".chars().rev().collect();