Skip to content

Commit

Permalink
Rollup merge of rust-lang#52507 - estebank:infer-type, r=nikomatsakis
Browse files Browse the repository at this point in the history
Reword when `_` couldn't be inferred

r? @nikomatsakis
  • Loading branch information
kennytm authored Jul 22, 2018
2 parents 180ad53 + 70e7e7d commit 82cdbf1
Show file tree
Hide file tree
Showing 16 changed files with 24 additions and 17 deletions.
9 changes: 8 additions & 1 deletion src/librustc/infer/error_reporting/need_type_info.rs
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,14 @@ impl<'a, 'gcx, 'tcx> InferCtxt<'a, 'gcx, 'tcx> {
let name = self.extract_type_name(&ty);

let mut err_span = span;
let mut labels = vec![(span, format!("cannot infer type for `{}`", name))];
let mut labels = vec![(
span,
if &name == "_" {
"cannot infer type".to_string()
} else {
format!("cannot infer type for `{}`", name)
},
)];

let mut local_visitor = FindLocalByTypeVisitor {
infcx: &self,
Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/error-codes/E0282.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ error[E0282]: type annotations needed
LL | let x = "hello".chars().rev().collect(); //~ ERROR E0282
| ^
| |
| cannot infer type for `_`
| cannot infer type
| consider giving `x` a type

error: aborting due to previous error
Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/issue-12187-1.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ error[E0282]: type annotations needed
LL | let &v = new();
| -^
| ||
| |cannot infer type for `_`
| |cannot infer type
| consider giving the pattern a type

error: aborting due to previous error
Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/issue-12187-2.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ error[E0282]: type annotations needed
LL | let &v = new();
| -^
| ||
| |cannot infer type for `_`
| |cannot infer type
| consider giving the pattern a type

error: aborting due to previous error
Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/issue-15965.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ error[E0282]: type annotations needed
LL | / { return () }
LL | | //~^ ERROR type annotations needed [E0282]
LL | | ()
| |______^ cannot infer type for `_`
| |______^ cannot infer type
|
= note: type must be known at this point

Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/issue-18159.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ error[E0282]: type annotations needed
LL | let x; //~ ERROR type annotations needed
| ^
| |
| cannot infer type for `_`
| cannot infer type
| consider giving `x` a type

error: aborting due to previous error
Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/issue-20261.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ error[E0282]: type annotations needed
LL | for (ref i,) in [].iter() {
| --------- the element type for this iterator is not specified
LL | i.clone();
| ^^^^^ cannot infer type for `_`
| ^^^^^ cannot infer type
|
= note: type must be known at this point

Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/issue-2151.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ error[E0282]: type annotations needed
LL | let x = panic!();
| - consider giving `x` a type
LL | x.clone(); //~ ERROR type annotations needed
| ^ cannot infer type for `_`
| ^ cannot infer type
|
= note: type must be known at this point

Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/issue-23041.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ error[E0282]: type annotations needed
--> $DIR/issue-23041.rs:16:22
|
LL | b.downcast_ref::<fn(_)->_>(); //~ ERROR E0282
| ^^^^^^^^ cannot infer type for `_`
| ^^^^^^^^ cannot infer type

error: aborting due to previous error

Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/issue-24013.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ error[E0282]: type annotations needed
--> $DIR/issue-24013.rs:15:20
|
LL | unsafe {swap::<&mut _>(transmute(&a), transmute(&b))};
| ^^^^^^ cannot infer type for `_`
| ^^^^^^ cannot infer type

error: aborting due to previous error

Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/issue-51116.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ fn main() {
//~^ NOTE the element type for this iterator is not specified
*tile = 0;
//~^ ERROR type annotations needed
//~| NOTE cannot infer type for `_`
//~| NOTE cannot infer type
//~| NOTE type must be known at this point
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/issue-51116.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ LL | for tile in row {
| --- the element type for this iterator is not specified
LL | //~^ NOTE the element type for this iterator is not specified
LL | *tile = 0;
| ^^^^^ cannot infer type for `_`
| ^^^^^ cannot infer type
|
= note: type must be known at this point

Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/issue-7813.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ error[E0282]: type annotations needed
--> $DIR/issue-7813.rs:12:13
|
LL | let v = &[]; //~ ERROR type annotations needed
| - ^^^ cannot infer type for `_`
| - ^^^ cannot infer type
| |
| consider giving `v` a type

Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/span/issue-42234-unknown-receiver-type.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ error[E0282]: type annotations needed
|
LL | / data.iter() //~ ERROR 22:5: 23:20: type annotations needed
LL | | .sum::<_>()
| |___________________^ cannot infer type for `_`
| |___________________^ cannot infer type
|
= note: type must be known at this point

Expand Down
4 changes: 2 additions & 2 deletions src/test/ui/span/method-and-field-eager-resolution.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ error[E0282]: type annotations needed
LL | let mut x = Default::default();
| ----- consider giving `x` a type
LL | x.0;
| ^ cannot infer type for `_`
| ^ cannot infer type
|
= note: type must be known at this point

Expand All @@ -14,7 +14,7 @@ error[E0282]: type annotations needed
LL | let mut x = Default::default();
| ----- consider giving `x` a type
LL | x[0];
| ^ cannot infer type for `_`
| ^ cannot infer type
|
= note: type must be known at this point

Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/type-check/cannot_infer_local_or_array.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ error[E0282]: type annotations needed
--> $DIR/cannot_infer_local_or_array.rs:12:13
|
LL | let x = []; //~ ERROR type annotations needed
| - ^^ cannot infer type for `_`
| - ^^ cannot infer type
| |
| consider giving `x` a type

Expand Down

0 comments on commit 82cdbf1

Please sign in to comment.