From f9e29b279c2045d520d624d958860f6b8c95ab7b Mon Sep 17 00:00:00 2001 From: Oliver Scherer Date: Fri, 22 Mar 2019 18:33:12 +0100 Subject: [PATCH] Add regression tests --- src/test/ui/consts/self_normalization.rs | 16 ++++++++++++++++ src/test/ui/consts/self_normalization2.rs | 21 +++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 src/test/ui/consts/self_normalization.rs create mode 100644 src/test/ui/consts/self_normalization2.rs 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 { + 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()); +}