diff options
Diffstat (limited to 'tests/ui/const-generics/dont-evaluate-array-len-on-err-1.rs')
-rw-r--r-- | tests/ui/const-generics/dont-evaluate-array-len-on-err-1.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/ui/const-generics/dont-evaluate-array-len-on-err-1.rs b/tests/ui/const-generics/dont-evaluate-array-len-on-err-1.rs new file mode 100644 index 000000000..6c4ee1af2 --- /dev/null +++ b/tests/ui/const-generics/dont-evaluate-array-len-on-err-1.rs @@ -0,0 +1,22 @@ +#![feature(generic_const_exprs)] +#![allow(incomplete_features)] + +// This tests that during error handling for the "trait not implemented" error +// we dont try to evaluate std::mem::size_of::<Self::Assoc> causing an ICE + +struct Adt; + +trait Foo { + type Assoc; + fn foo() + where + [Adt; std::mem::size_of::<Self::Assoc>()]: , + { + <[Adt; std::mem::size_of::<Self::Assoc>()] as Foo>::bar() + //~^ Error: the trait bound + } + + fn bar() {} +} + +fn main() {} |