diff options
Diffstat (limited to 'tests/ui/type-alias-impl-trait/issue-53092-2.rs')
-rw-r--r-- | tests/ui/type-alias-impl-trait/issue-53092-2.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/ui/type-alias-impl-trait/issue-53092-2.rs b/tests/ui/type-alias-impl-trait/issue-53092-2.rs new file mode 100644 index 000000000..057930f0c --- /dev/null +++ b/tests/ui/type-alias-impl-trait/issue-53092-2.rs @@ -0,0 +1,14 @@ +#![feature(type_alias_impl_trait)] +#![allow(dead_code)] + +type Bug<T, U> = impl Fn(T) -> U + Copy; //~ ERROR cycle detected + +const CONST_BUG: Bug<u8, ()> = unsafe { std::mem::transmute(|_: u8| ()) }; + +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); +} |