diff options
Diffstat (limited to 'tests/ui/consts/issue-67696-const-prop-ice.rs')
-rw-r--r-- | tests/ui/consts/issue-67696-const-prop-ice.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/ui/consts/issue-67696-const-prop-ice.rs b/tests/ui/consts/issue-67696-const-prop-ice.rs new file mode 100644 index 000000000..ad52608b3 --- /dev/null +++ b/tests/ui/consts/issue-67696-const-prop-ice.rs @@ -0,0 +1,20 @@ +// check-pass +// compile-flags: --emit=mir,link +// Checks that we don't ICE due to attempting to run const prop +// on a function with unsatisifable 'where' clauses + +#![allow(unused)] + +trait A { + fn foo(&self) -> Self where Self: Copy; +} + +impl A for [fn(&())] { + fn foo(&self) -> Self where Self: Copy { *(&[] as &[_]) } +} + +impl A for i32 { + fn foo(&self) -> Self { 3 } +} + +fn main() {} |