about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorBastian Kauschke <bastian_kauschke@hotmail.de>2020-03-22 11:34:42 +0100
committerBastian Kauschke <bastian_kauschke@hotmail.de>2020-03-22 11:34:42 +0100
commit0c5c3bbdabc60bd7dd7491dfcf6befb8202d7521 (patch)
tree4f0c332f5c6b9d9668d791d6f129636c8c59e77f /src/test
parent98803c182b2ba6ef5dccb6bf501958249295eac0 (diff)
downloadrust-0c5c3bbdabc60bd7dd7491dfcf6befb8202d7521.tar.gz
rust-0c5c3bbdabc60bd7dd7491dfcf6befb8202d7521.zip
handle unevaluated consts after monomophize
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/const-generics/issues/issue-70125.rs19
-rw-r--r--src/test/ui/const-generics/issues/issue-70125.stderr8
-rw-r--r--src/test/ui/const-generics/normalization_failure.rs16
-rw-r--r--src/test/ui/const-generics/normalization_failure.stderr8
4 files changed, 51 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/issues/issue-70125.rs b/src/test/ui/const-generics/issues/issue-70125.rs
new file mode 100644
index 00000000000..8b933c078ff
--- /dev/null
+++ b/src/test/ui/const-generics/issues/issue-70125.rs
@@ -0,0 +1,19 @@
+// run-pass
+#![feature(const_generics)]
+//~^ WARN the feature `const_generics` is incomplete and may cause the compiler to crash
+
+const L: usize = 4;
+
+pub trait Print<const N: usize> {
+    fn print(&self) -> usize {
+        N
+    }
+}
+
+pub struct Printer;
+impl Print<L> for Printer {}
+
+fn main() {
+    let p = Printer;
+    assert_eq!(p.print(), 4);
+}
diff --git a/src/test/ui/const-generics/issues/issue-70125.stderr b/src/test/ui/const-generics/issues/issue-70125.stderr
new file mode 100644
index 00000000000..878ed7628e8
--- /dev/null
+++ b/src/test/ui/const-generics/issues/issue-70125.stderr
@@ -0,0 +1,8 @@
+warning: the feature `const_generics` is incomplete and may cause the compiler to crash
+  --> $DIR/issue-70125.rs:2:12
+   |
+LL | #![feature(const_generics)]
+   |            ^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+
diff --git a/src/test/ui/const-generics/normalization_failure.rs b/src/test/ui/const-generics/normalization_failure.rs
new file mode 100644
index 00000000000..ea7a68c2f93
--- /dev/null
+++ b/src/test/ui/const-generics/normalization_failure.rs
@@ -0,0 +1,16 @@
+// run-pass
+
+#![feature(const_generics)]
+//~^ WARN the feature `const_generics` is incomplete and may cause the compiler to crash
+
+fn main() {
+    <()>::foo();
+}
+
+trait Foo<const X: usize> {
+    fn foo() -> usize {
+        X
+    }
+}
+
+impl Foo<{3}> for () {}
diff --git a/src/test/ui/const-generics/normalization_failure.stderr b/src/test/ui/const-generics/normalization_failure.stderr
new file mode 100644
index 00000000000..d5ad39e81ba
--- /dev/null
+++ b/src/test/ui/const-generics/normalization_failure.stderr
@@ -0,0 +1,8 @@
+warning: the feature `const_generics` is incomplete and may cause the compiler to crash
+  --> $DIR/normalization_failure.rs:3:12
+   |
+LL | #![feature(const_generics)]
+   |            ^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+