improve suggestions output and add ui test

This commit is contained in:
Guillaume Gomez 2016-11-01 16:00:24 +01:00
parent eaa2ddb04f
commit b5686422e1
3 changed files with 54 additions and 2 deletions

View file

@ -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 - ")
}

View file

@ -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