#![feature(type_alias_impl_trait)]#![allow(dead_code)]//@ check-passusestd::fmt::Debug;pubtypeFoo=implDebug;#[define_opaque(Foo)]fnfoo1(mutx:Foo){x=22_u32;}#[define_opaque(Foo)]pubfnfoo_value()->Foo{11_u32}fnfoo2(mutx:Foo){// no constraint on x}fnfoo3(x:Foo){println!("{:?}",x);}fnmain(){foo3(foo_value());}