about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOliver Scherer <github35764891676564198441@oli-obk.de>2019-03-22 18:33:12 +0100
committerOliver Scherer <github35764891676564198441@oli-obk.de>2019-08-05 17:48:04 +0200
commitf9e29b279c2045d520d624d958860f6b8c95ab7b (patch)
treee1d5c1da14045bef3368e78545e5236fc9b421ba
parent9b87d22ea83a1b5955d5355f91125456c4dc4bab (diff)
downloadrust-f9e29b279c2045d520d624d958860f6b8c95ab7b.tar.gz
rust-f9e29b279c2045d520d624d958860f6b8c95ab7b.zip
Add regression tests
-rw-r--r--src/test/ui/consts/self_normalization.rs16
-rw-r--r--src/test/ui/consts/self_normalization2.rs21
2 files changed, 37 insertions, 0 deletions
diff --git a/src/test/ui/consts/self_normalization.rs b/src/test/ui/consts/self_normalization.rs
new file mode 100644
index 00000000000..e11e8b4318e
--- /dev/null
+++ b/src/test/ui/consts/self_normalization.rs
@@ -0,0 +1,16 @@
+// compile-pass
+
+fn testfn(_arr: &mut [();0]) {}
+
+trait TestTrait {
+    fn method();
+}
+
+impl TestTrait for [(); 0] {
+    fn method() {
+        let mut arr: Self = [(); 0];
+        testfn(&mut arr);
+    }
+}
+
+fn main() {}
diff --git a/src/test/ui/consts/self_normalization2.rs b/src/test/ui/consts/self_normalization2.rs
new file mode 100644
index 00000000000..8c79bed156a
--- /dev/null
+++ b/src/test/ui/consts/self_normalization2.rs
@@ -0,0 +1,21 @@
+// compile-pass
+
+trait Gen<T> {
+    fn gen(x: Self) -> T;
+}
+
+struct A;
+
+impl Gen<[(); 0]> for A {
+    fn gen(x: Self) -> [(); 0] {
+        []
+    }
+}
+
+fn array() -> impl Gen<[(); 0]> {
+    A
+}
+
+fn main() {
+    let [] = Gen::gen(array());
+}