diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-10-28 07:06:43 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-28 07:06:43 +0200 |
| commit | f541ad91657bb8b3276198e85d60f738da3b7bb8 (patch) | |
| tree | bc27c9fde00b3e662c1354f1e4996ee93fb5d57d /src/test/ui | |
| parent | 2f02cf8768bff3e32a2bfaa42294cb5dd6abd58b (diff) | |
| parent | 8cf9ad634b049af8b9f442e5b31bc6a85c3a3392 (diff) | |
| download | rust-f541ad91657bb8b3276198e85d60f738da3b7bb8.tar.gz rust-f541ad91657bb8b3276198e85d60f738da3b7bb8.zip | |
Rollup merge of #103550 - notriddle:notriddle/no-suggest-static-candidates, r=wesleywiser
diagnostics: do not suggest static candidates as traits to import If it's a static candidate, then it's already implemented. Do not suggest it a second time for implementing. Partial fix for #102354
Diffstat (limited to 'src/test/ui')
| -rw-r--r-- | src/test/ui/suggestions/issue-102354.rs | 10 | ||||
| -rw-r--r-- | src/test/ui/suggestions/issue-102354.stderr | 24 |
2 files changed, 34 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/issue-102354.rs b/src/test/ui/suggestions/issue-102354.rs new file mode 100644 index 00000000000..f881feb0060 --- /dev/null +++ b/src/test/ui/suggestions/issue-102354.rs @@ -0,0 +1,10 @@ +trait Trait { + fn func() {} +} + +impl Trait for i32 {} + +fn main() { + let x: i32 = 123; + x.func(); //~ERROR no method +} diff --git a/src/test/ui/suggestions/issue-102354.stderr b/src/test/ui/suggestions/issue-102354.stderr new file mode 100644 index 00000000000..4f76c5f2e75 --- /dev/null +++ b/src/test/ui/suggestions/issue-102354.stderr @@ -0,0 +1,24 @@ +error[E0599]: no method named `func` found for type `i32` in the current scope + --> $DIR/issue-102354.rs:9:7 + | +LL | x.func(); + | ^^^^ this is an associated function, not a method + | + = note: found the following associated functions; to be used as methods, functions must have a `self` parameter +note: the candidate is defined in the trait `Trait` + --> $DIR/issue-102354.rs:2:5 + | +LL | fn func() {} + | ^^^^^^^^^ +help: use associated function syntax instead + | +LL | i32::func(); + | ~~~~~~~~~ +help: disambiguate the associated function for the candidate + | +LL | <i32 as Trait>::func(x); + | ~~~~~~~~~~~~~~~~~~~~~~~ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0599`. |
