summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2023-03-07 05:40:55 +0000
committerMichael Goulet <michael@errs.io>2023-03-07 05:41:08 +0000
commitb7a5f3a41c6613033f0e6be9307c40e3174a9381 (patch)
treeacd5a0df2cde62e70221aa90d0200ff22b891124 /tests
parentf63ccaf25f74151a5d8ce057904cd944074b01d2 (diff)
downloadrust-b7a5f3a41c6613033f0e6be9307c40e3174a9381.tar.gz
Instantiate instead of erasing binder when probing param methods
Diffstat (limited to 'tests')
-rw-r--r--tests/ui/traits/non_lifetime_binders/method-probe.rs16
-rw-r--r--tests/ui/traits/non_lifetime_binders/method-probe.stderr11
2 files changed, 27 insertions, 0 deletions
diff --git a/tests/ui/traits/non_lifetime_binders/method-probe.rs b/tests/ui/traits/non_lifetime_binders/method-probe.rs
new file mode 100644
index 00000000000..8df240c2082
--- /dev/null
+++ b/tests/ui/traits/non_lifetime_binders/method-probe.rs
@@ -0,0 +1,16 @@
+// check-pass
+
+#![feature(non_lifetime_binders)]
+//~^ WARN the feature `non_lifetime_binders` is incomplete
+
+trait Foo: for<T> Bar<T> {}
+
+trait Bar<T> {
+ fn method() -> T;
+}
+
+fn x<T: Foo>() {
+ let _: i32 = T::method();
+}
+
+fn main() {}
diff --git a/tests/ui/traits/non_lifetime_binders/method-probe.stderr b/tests/ui/traits/non_lifetime_binders/method-probe.stderr
new file mode 100644
index 00000000000..8f61792e6ce
--- /dev/null
+++ b/tests/ui/traits/non_lifetime_binders/method-probe.stderr
@@ -0,0 +1,11 @@
+warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
+ --> $DIR/method-probe.rs:3:12
+ |
+LL | #![feature(non_lifetime_binders)]
+ | ^^^^^^^^^^^^^^^^^^^^
+ |
+ = note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
+ = note: `#[warn(incomplete_features)]` on by default
+
+warning: 1 warning emitted
+