// build-pass // edition:2018 #![feature(coroutines)] fn main() { foo(); } fn foo() { || { 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, }