1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! Blocking executor trait for sync client wrappers.
use Future;
/// A blocking executor that can run a future to completion.
///
/// Implemented for different runtimes:
/// - Ariel OS threads: `ariel_os::thread::block_on`
/// - Embassy futures: `embassy_futures::block_on`
/// - smol / futures-lite: see [`SmolBlockOn`] (feature `smol`).
///
/// The implementation must poll the future to completion and return its output.
// Blanket impl: &B is a BlockOn if B is.
/// Trivial [`BlockOn`] backed by [`futures_lite::future::block_on`].
///
/// Suitable for smol users (smol re-exports `futures_lite::future::block_on`)
/// and anyone who just needs a single-threaded block-on primitive without
/// pulling in a full runtime.
;