about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2022-02-04 20:56:32 -0800
committerMichael Goulet <michael@errs.io>2022-02-05 01:30:14 -0800
commitbcf98841d47b23dfc4cc85568fcd8dbb79748965 (patch)
treeb34122b9d04123892daf884b733c904067463b9a /src/test
parentb3800860e123443ffada615538926beed6bc4f85 (diff)
downloadrust-bcf98841d47b23dfc4cc85568fcd8dbb79748965.tar.gz
rust-bcf98841d47b23dfc4cc85568fcd8dbb79748965.zip
resolve lifetimes for const generic defaults
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/const-generics/issue-93647.rs6
-rw-r--r--src/test/ui/const-generics/issue-93647.stderr9
-rw-r--r--src/test/ui/const-generics/outer-lifetime-in-const-generic-default.rs10
-rw-r--r--src/test/ui/const-generics/outer-lifetime-in-const-generic-default.stderr11
4 files changed, 36 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/issue-93647.rs b/src/test/ui/const-generics/issue-93647.rs
new file mode 100644
index 00000000000..6a8fe64d187
--- /dev/null
+++ b/src/test/ui/const-generics/issue-93647.rs
@@ -0,0 +1,6 @@
+struct X<const N: usize = {
+    (||1usize)()
+    //~^ ERROR calls in constants are limited to
+}>;
+
+fn main() {}
diff --git a/src/test/ui/const-generics/issue-93647.stderr b/src/test/ui/const-generics/issue-93647.stderr
new file mode 100644
index 00000000000..0fe54e7de41
--- /dev/null
+++ b/src/test/ui/const-generics/issue-93647.stderr
@@ -0,0 +1,9 @@
+error[E0015]: calls in constants are limited to constant functions, tuple structs and tuple variants
+  --> $DIR/issue-93647.rs:2:5
+   |
+LL |     (||1usize)()
+   |     ^^^^^^^^^^^^
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0015`.
diff --git a/src/test/ui/const-generics/outer-lifetime-in-const-generic-default.rs b/src/test/ui/const-generics/outer-lifetime-in-const-generic-default.rs
new file mode 100644
index 00000000000..3018439afa7
--- /dev/null
+++ b/src/test/ui/const-generics/outer-lifetime-in-const-generic-default.rs
@@ -0,0 +1,10 @@
+struct Foo<
+    'a,
+    const N: usize = {
+        let x: &'a ();
+        //~^ ERROR use of non-static lifetime `'a` in const generic
+        3
+    },
+>(&'a ());
+
+fn main() {}
diff --git a/src/test/ui/const-generics/outer-lifetime-in-const-generic-default.stderr b/src/test/ui/const-generics/outer-lifetime-in-const-generic-default.stderr
new file mode 100644
index 00000000000..9d9555d3f64
--- /dev/null
+++ b/src/test/ui/const-generics/outer-lifetime-in-const-generic-default.stderr
@@ -0,0 +1,11 @@
+error[E0771]: use of non-static lifetime `'a` in const generic
+  --> $DIR/outer-lifetime-in-const-generic-default.rs:4:17
+   |
+LL |         let x: &'a ();
+   |                 ^^
+   |
+   = note: for more information, see issue #74052 <https://github.com/rust-lang/rust/issues/74052>
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0771`.