improve suggestions output and add ui test
This commit is contained in:
parent
eaa2ddb04f
commit
b5686422e1
3 changed files with 54 additions and 2 deletions
|
@ -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 - ")
|
||||
}
|
||||
|
|
52
src/test/ui/span/coerce-suggestions.stderr
Normal file
52
src/test/ui/span/coerce-suggestions.stderr
Normal 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
|
||||
|
Loading…
Add table
Reference in a new issue