Skip to content

Commit

Permalink
improve suggestions output and add ui test
Browse files Browse the repository at this point in the history
  • Loading branch information
GuillaumeGomez committed Dec 20, 2016
1 parent eaa2ddb commit b568642
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/librustc_typeck/check/demand.rs
Expand Up @@ -154,13 +154,13 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
if no_argument_methods.len() > 0 {
no_argument_methods.iter()
.take(5)
.map(|method| format!("{}", method.name()))
.map(|method| format!(".{}()", method.name()))
.collect::<Vec<String>>()
.join("\n - ")
} else {
methods.iter()
.take(5)
.map(|method| format!("{}", method.name()))
.map(|method| format!(".{}()", method.name()))
.collect::<Vec<String>>()
.join("\n - ")
}
Expand Down
File renamed without changes.
52 changes: 52 additions & 0 deletions src/test/ui/span/coerce-suggestions.stderr
@@ -0,0 +1,52 @@
error[E0308]: mismatched types
--> $DIR/coerce-suggestions.rs:17:20
|
17 | let x: usize = String::new();
| ^^^^^^^^^^^^^ expected usize, found struct `std::string::String`
|
= note: expected type `usize`
= note: found type `std::string::String`
= help: here are some functions which might fulfill your needs:
- .capacity()
- .len()

error[E0308]: mismatched types
--> $DIR/coerce-suggestions.rs:23:19
|
23 | let x: &str = String::new();
| ^^^^^^^^^^^^^ expected &str, found struct `std::string::String`
|
= note: expected type `&str`
= note: found type `std::string::String`
= help: try with `&String::new()`

error[E0308]: mismatched types
--> $DIR/coerce-suggestions.rs:30:10
|
30 | test(&y);
| ^^ types differ in mutability
|
= note: expected type `&mut std::string::String`
= note: found type `&std::string::String`
= help: try with `&mut y`

error[E0308]: mismatched types
--> $DIR/coerce-suggestions.rs:36:11
|
36 | test2(&y);
| ^^ types differ in mutability
|
= note: expected type `&mut i32`
= note: found type `&std::string::String`

error[E0308]: mismatched types
--> $DIR/coerce-suggestions.rs:42:9
|
42 | f = box f;
| ^^^^^ cyclic type of infinite size
|
= note: expected type `_`
= note: found type `Box<_>`

error: aborting due to 5 previous errors

0 comments on commit b568642

Please sign in to comment.