diff --git a/tests-build/tests/macros.rs b/tests-build/tests/macros.rs index 7e7e6943f..ff77191d0 100644 --- a/tests-build/tests/macros.rs +++ b/tests-build/tests/macros.rs @@ -12,6 +12,9 @@ fn compile_fail_full() { #[cfg(feature = "full")] t.pass("tests/pass/macros_main_loop.rs"); + #[cfg(feature = "full")] + t.pass("tests/pass/impl_trait.rs"); + #[cfg(feature = "full")] t.compile_fail("tests/fail/macros_invalid_input.rs"); diff --git a/tests-build/tests/pass/impl_trait.rs b/tests-build/tests/pass/impl_trait.rs new file mode 100644 index 000000000..e0b7b9583 --- /dev/null +++ b/tests-build/tests/pass/impl_trait.rs @@ -0,0 +1,17 @@ +use tests_build::tokio; + +#[tokio::main] +async fn never() -> ! { + loop {} +} + +#[tokio::main] +async fn impl_trait() -> impl Iterator { + [()].into_iter() +} + +fn main() { + if impl_trait().count() == 10 { + never(); + } +}