| //@ build-pass | |
| //@ edition:2018 | |
| #![feature(coroutines)] | |
| fn main() { | |
| foo(); | |
| } | |
| fn foo() { | |
| #[coroutine] || { | |
| yield drop(Config { | |
| nickname: NonCopy, | |
| b: NonCopy2, | |
| }.nickname); | |
| }; | |
| } | |
| #[derive(Default)] | |
| struct NonCopy; | |
| impl Drop for NonCopy { | |
| fn drop(&mut self) {} | |
| } | |
| #[derive(Default)] | |
| struct NonCopy2; | |
| impl Drop for NonCopy2 { | |
| fn drop(&mut self) {} | |
| } | |
| #[derive(Default)] | |
| struct Config { | |
| nickname: NonCopy, | |
| b: NonCopy2, | |
| } |