From 11f9d4db73d8a80e2f29ace655b525a28ca99238 Mon Sep 17 00:00:00 2001 From: Alice Ryhl Date: Thu, 15 Jan 2026 10:25:45 +0100 Subject: [PATCH] macros: add test for special return types (#7857) --- tests-build/tests/macros.rs | 3 +++ tests-build/tests/pass/impl_trait.rs | 17 +++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 tests-build/tests/pass/impl_trait.rs 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(); + } +}