summaryrefslogtreecommitdiff
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
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());
+}