Add help for static method invalid use

This commit is contained in:
Guillaume Gomez 2017-08-14 20:56:54 +02:00
parent b1ff235490
commit 20167abe90
3 changed files with 5 additions and 0 deletions

View File

@ -260,6 +260,7 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
if !static_sources.is_empty() { if !static_sources.is_empty() {
err.note("found the following associated functions; to be used as methods, \ err.note("found the following associated functions; to be used as methods, \
functions must have a `self` parameter"); functions must have a `self` parameter");
err.help(&format!("try with `{}::{}`", self.ty_to_string(actual), item_name));
report_candidates(&mut err, static_sources); report_candidates(&mut err, static_sources);
} }

View File

@ -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 = 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` note: candidate #1 is defined in the trait `issue_41652_b::Tr`
--> $DIR/auxiliary/issue_41652_b.rs:14:5 --> $DIR/auxiliary/issue_41652_b.rs:14:5
| |

View File

@ -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 = 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` note: candidate #1 is defined in the trait `CtxtFn`
--> $DIR/issue-7575.rs:16:5 --> $DIR/issue-7575.rs:16:5
| |
@ -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 = 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` note: candidate #1 is defined in an impl for the type `Myisize`
--> $DIR/issue-7575.rs:51:5 --> $DIR/issue-7575.rs:51:5
| |
@ -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 = 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` note: candidate #1 is defined in the trait `ManyImplTrait`
--> $DIR/issue-7575.rs:57:5 --> $DIR/issue-7575.rs:57:5
| |