summaryrefslogtreecommitdiffstats
path: root/tests/ui/inference/need_type_info/issue-109905.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/inference/need_type_info/issue-109905.rs')
-rw-r--r--tests/ui/inference/need_type_info/issue-109905.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/ui/inference/need_type_info/issue-109905.rs b/tests/ui/inference/need_type_info/issue-109905.rs
new file mode 100644
index 000000000..99d10a5ea
--- /dev/null
+++ b/tests/ui/inference/need_type_info/issue-109905.rs
@@ -0,0 +1,25 @@
+// Test that we show the correct type parameter that couldn't be inferred and that we don't
+// end up stating nonsense like "type parameter `'a`" which we used to do.
+
+trait Trait<'a, T> {
+ fn m(self);
+}
+
+impl<'a, A> Trait<'a, A> for () {
+ fn m(self) {}
+}
+
+fn qualified() {
+ <() as Trait<'static, _>>::m(());
+ //~^ ERROR type annotations needed
+ //~| NOTE cannot infer type of the type parameter `T`
+
+}
+
+fn unqualified() {
+ Trait::<'static, _>::m(());
+ //~^ ERROR type annotations needed
+ //~| NOTE cannot infer type of the type parameter `T`
+}
+
+fn main() {}