about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDavid Wood <david.wood2@arm.com>2025-02-24 09:49:06 +0000
committerDavid Wood <david.wood2@arm.com>2025-02-24 09:51:05 +0000
commit7bf6fc16f24902d5efc5fc2c5ba6b72840a239b9 (patch)
tree0161b02c762ca46a3b8220195e3f4af7fa4d5f68
parentad27045c31a9f37ad7d44ca2a403de52d1a896d3 (diff)
downloadrust-7bf6fc16f24902d5efc5fc2c5ba6b72840a239b9.tar.gz
rust-7bf6fc16f24902d5efc5fc2c5ba6b72840a239b9.zip
tests: add variance test for const traits
Added to demonstrate change in output in following commit. Many more
interesting tests change with different output, missing errors, new
errors, etc related to this but they all depend on feature flags and
are much more complex than this.
-rw-r--r--tests/ui/traits/const-traits/variance.rs14
-rw-r--r--tests/ui/traits/const-traits/variance.stderr8
2 files changed, 22 insertions, 0 deletions
diff --git a/tests/ui/traits/const-traits/variance.rs b/tests/ui/traits/const-traits/variance.rs
new file mode 100644
index 00000000000..9eaf7910cb8
--- /dev/null
+++ b/tests/ui/traits/const-traits/variance.rs
@@ -0,0 +1,14 @@
+#![feature(rustc_attrs, const_trait_impl)]
+#![allow(internal_features)]
+#![rustc_variance_of_opaques]
+
+#[const_trait]
+trait Foo {}
+
+impl const Foo for () {}
+
+fn foo<'a: 'a>() -> impl const Foo {}
+//~^ ERROR ['a: o]
+
+fn main() {}
+
diff --git a/tests/ui/traits/const-traits/variance.stderr b/tests/ui/traits/const-traits/variance.stderr
new file mode 100644
index 00000000000..f6efc24b747
--- /dev/null
+++ b/tests/ui/traits/const-traits/variance.stderr
@@ -0,0 +1,8 @@
+error: ['a: o]
+  --> $DIR/variance.rs:10:21
+   |
+LL | fn foo<'a: 'a>() -> impl const Foo {}
+   |                     ^^^^^^^^^^^^^^
+
+error: aborting due to 1 previous error
+