| // Check that the layout of a coroutine is available when auxiliary crate |
| // is compiled with --emit metadata. |
| // |
| // Regression test for #80998. |
| // |
| //@ aux-build:metadata-sufficient-for-layout.rs |
| //@ check-pass |
| |
| #![feature(type_alias_impl_trait, rustc_attrs)] |
| #![feature(coroutine_trait)] |
| |
| extern crate metadata_sufficient_for_layout; |
| |
| mod helper { |
| use std::ops::Coroutine; |
| pub type F = impl Coroutine<(), Yield = (), Return = ()>; |
| |
| #[define_opaque(F)] |
| fn f() -> F { |
| metadata_sufficient_for_layout::g() |
| } |
| } |
| |
| // Static queries the layout of the coroutine. |
| static A: Option<helper::F> = None; |
| |
| fn main() {} |