about summary refs log tree commit diff
path: root/tests/coverage/await_ready.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-09-14 16:18:12 +0000
committerbors <bors@rust-lang.org>2024-09-14 16:18:12 +0000
commit5fe0e40e05f2d0408c6a292b160f96d595aedfbc (patch)
treeec012b7fe5ec3a55d979f5f8ce97a3dbdad94d41 /tests/coverage/await_ready.rs
parente7386b361dda8c2222bee7a1ae79faba7e9a0351 (diff)
parent2b40fdbb28009e8f23f34169c6f5579a037eaec5 (diff)
downloadrust-5fe0e40e05f2d0408c6a292b160f96d595aedfbc.tar.gz
rust-5fe0e40e05f2d0408c6a292b160f96d595aedfbc.zip
Auto merge of #130357 - fmease:rollup-j3ej4q0, r=fmease
Rollup of 6 pull requests

Successful merges:

 - #130017 (coverage: Extract `executor::block_on` from several async coverage tests)
 - #130268 (simd_shuffle: require index argument to be a vector)
 - #130290 (Stabilize entry_insert)
 - #130294 (Lifetime cleanups)
 - #130343 (docs: Enable required feature for 'closure_returning_async_block' lint)
 - #130349 (Fix `Parser::break_up_float`'s right span)

r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'tests/coverage/await_ready.rs')
-rw-r--r--tests/coverage/await_ready.rs31
1 files changed, 9 insertions, 22 deletions
diff --git a/tests/coverage/await_ready.rs b/tests/coverage/await_ready.rs
index 9212a4ba705..27ee99d3989 100644
--- a/tests/coverage/await_ready.rs
+++ b/tests/coverage/await_ready.rs
@@ -1,12 +1,17 @@
 #![feature(coverage_attribute)]
-#![feature(custom_inner_attributes)] // for #![rustfmt::skip]
 #![feature(noop_waker)]
-#![rustfmt::skip]
+#![coverage(off)]
 //@ edition: 2021
 
-#[coverage(off)]
-async fn ready() -> u8 { 1 }
+//@ aux-build: executor.rs
+extern crate executor;
 
+async fn ready() -> u8 {
+    1
+}
+
+#[coverage(on)]
+#[rustfmt::skip]
 async fn await_ready() -> u8 {
     // await should be covered even if the function never yields
     ready()
@@ -17,21 +22,3 @@ fn main() {
     let mut future = Box::pin(await_ready());
     executor::block_on(future.as_mut());
 }
-
-mod executor {
-    use core::future::Future;
-    use core::pin::pin;
-    use core::task::{Context, Poll, Waker};
-
-    #[coverage(off)]
-    pub fn block_on<F: Future>(mut future: F) -> F::Output {
-        let mut future = pin!(future);
-        let mut context = Context::from_waker(Waker::noop());
-
-        loop {
-            if let Poll::Ready(val) = future.as_mut().poll(&mut context) {
-                break val;
-            }
-        }
-    }
-}