diff options
Diffstat (limited to 'tests/ui/type-alias-impl-trait/issue-53092.rs')
-rw-r--r-- | tests/ui/type-alias-impl-trait/issue-53092.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/ui/type-alias-impl-trait/issue-53092.rs b/tests/ui/type-alias-impl-trait/issue-53092.rs new file mode 100644 index 000000000..1be5b46d6 --- /dev/null +++ b/tests/ui/type-alias-impl-trait/issue-53092.rs @@ -0,0 +1,19 @@ +#![feature(type_alias_impl_trait)] +#![allow(dead_code)] + +type Bug<T, U> = impl Fn(T) -> U + Copy; + +union Moo { + x: Bug<u8, ()>, + y: (), +} + +const CONST_BUG: Bug<u8, ()> = unsafe { Moo { y: () }.x }; + +fn make_bug<T, U: From<T>>() -> Bug<T, U> { + |x| x.into() //~ ERROR the trait bound `U: From<T>` is not satisfied +} + +fn main() { + CONST_BUG(0); +} |