Skip to content

Commit

Permalink
Auto merge of #43864 - GuillaumeGomez:static-method-invalid-use, r=eddyb
Browse files Browse the repository at this point in the history
Add help for static method invalid use

Fixes #30391.
  • Loading branch information
bors committed Aug 16, 2017
2 parents 7ac979d + 20167ab commit be0f77d
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/librustc_typeck/check/method/suggest.rs
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,7 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
if !static_sources.is_empty() {
err.note("found the following associated functions; to be used as methods, \
functions must have a `self` parameter");
err.help(&format!("try with `{}::{}`", self.ty_to_string(actual), item_name));

report_candidates(&mut err, static_sources);
}
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/issue-41652/issue_41652.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ error[E0599]: no method named `f` found for type `{integer}` in the current scop
| ^
|
= note: found the following associated functions; to be used as methods, functions must have a `self` parameter
= help: try with `{integer}::f`
note: candidate #1 is defined in the trait `issue_41652_b::Tr`
--> $DIR/auxiliary/issue_41652_b.rs:14:5
|
Expand Down
3 changes: 3 additions & 0 deletions src/test/ui/span/issue-7575.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ error[E0599]: no method named `f9` found for type `usize` in the current scope
| ^^
|
= note: found the following associated functions; to be used as methods, functions must have a `self` parameter
= help: try with `usize::f9`
note: candidate #1 is defined in the trait `CtxtFn`
--> $DIR/issue-7575.rs:16:5
|
Expand Down Expand Up @@ -36,6 +37,7 @@ error[E0599]: no method named `fff` found for type `Myisize` in the current scop
| ^^^
|
= note: found the following associated functions; to be used as methods, functions must have a `self` parameter
= help: try with `Myisize::fff`
note: candidate #1 is defined in an impl for the type `Myisize`
--> $DIR/issue-7575.rs:51:5
|
Expand All @@ -51,6 +53,7 @@ error[E0599]: no method named `is_str` found for type `T` in the current scope
| ^^^^^^
|
= note: found the following associated functions; to be used as methods, functions must have a `self` parameter
= help: try with `T::is_str`
note: candidate #1 is defined in the trait `ManyImplTrait`
--> $DIR/issue-7575.rs:57:5
|
Expand Down

0 comments on commit be0f77d

Please sign in to comment.