summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorbohan <bohan-zhang@foxmail.com>2023-05-16 01:39:35 +0800
committerbohan <bohan-zhang@foxmail.com>2023-05-16 09:29:33 +0800
commitb2b2be1cad5a3009f53f490ae09abf33958e40df (patch)
tree9f5cf75c8c675452d12be3843fcdc19ee10a506e /tests
parent8006510ab0f69ee75e9c3f7e8bff3776886dae51 (diff)
downloadrust-b2b2be1cad5a3009f53f490ae09abf33958e40df.tar.gz
fix(diagnostic): wrap parens for ref impl trait param
Diffstat (limited to 'tests')
-rw-r--r--tests/ui/suggestions/issue-99597.rs15
-rw-r--r--tests/ui/suggestions/issue-99597.stderr15
2 files changed, 30 insertions, 0 deletions
diff --git a/tests/ui/suggestions/issue-99597.rs b/tests/ui/suggestions/issue-99597.rs
new file mode 100644
index 00000000000..8ba9e1fdd62
--- /dev/null
+++ b/tests/ui/suggestions/issue-99597.rs
@@ -0,0 +1,15 @@
+#![allow(dead_code)]
+
+trait T1 { }
+
+trait T2 {
+ fn test(&self) { }
+}
+
+fn go(s: &impl T1) {
+ //~^ SUGGESTION (
+ s.test();
+ //~^ ERROR no method named `test`
+}
+
+fn main() { }
diff --git a/tests/ui/suggestions/issue-99597.stderr b/tests/ui/suggestions/issue-99597.stderr
new file mode 100644
index 00000000000..bdf2a07c143
--- /dev/null
+++ b/tests/ui/suggestions/issue-99597.stderr
@@ -0,0 +1,15 @@
+error[E0599]: no method named `test` found for reference `&impl T1` in the current scope
+ --> $DIR/issue-99597.rs:11:7
+ |
+LL | s.test();
+ | ^^^^ method not found in `&impl T1`
+ |
+ = help: items from traits can only be used if the type parameter is bounded by the trait
+help: the following trait defines an item `test`, perhaps you need to restrict type parameter `impl T1` with it:
+ |
+LL | fn go(s: &(impl T1 + T2)) {
+ | + +++++
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0599`.