| trait Coroutine { | |
| fn create() -> u32; | |
| } | |
| struct Impl; | |
| impl Coroutine for Impl { | |
| fn create() -> u32 { 1 } | |
| } | |
| impl Impl { | |
| fn new() -> Self { | |
| Impl{} | |
| } | |
| } | |
| impl Into<u32> for Impl { | |
| fn into(self) -> u32 { 1 } | |
| } | |
| fn foo(bar: u32) {} | |
| struct AnotherImpl; | |
| impl Coroutine for AnotherImpl { | |
| fn create() -> u32 { 2 } | |
| } | |
| fn main() { | |
| let cont: u32 = Coroutine::create(); //~ ERROR E0790 | |
| } | |
| fn buzz() { | |
| let foo_impl = Impl::new(); | |
| let bar = foo_impl.into() * 1u32; //~ ERROR E0283 | |
| foo(bar); | |
| } |