#tor #future #tor-arti

oneshot-fused-workaround

Fused wrapper for futures::channel::oneshot

9 unstable releases (4 breaking)

Uses new Rust 2024

new 0.5.1 Dec 2, 2025
0.5.0 Oct 30, 2025
0.4.0 Oct 6, 2025
0.2.3 Jul 8, 2025
0.2.0 Sep 30, 2024

#2464 in Rust patterns

Download history 3187/week @ 2025-08-12 2326/week @ 2025-08-19 2830/week @ 2025-08-26 2527/week @ 2025-09-02 2246/week @ 2025-09-09 2019/week @ 2025-09-16 2238/week @ 2025-09-23 2658/week @ 2025-09-30 2783/week @ 2025-10-07 2720/week @ 2025-10-14 2699/week @ 2025-10-21 3437/week @ 2025-10-28 3014/week @ 2025-11-04 2461/week @ 2025-11-11 2740/week @ 2025-11-18 2211/week @ 2025-11-25

10,892 downloads per month
Used in 75 crates (13 directly)

MIT/Apache

6KB
55 lines

Thin veneer over futures::channel::oneshot to fix use with select!

A bare futures::channel::oneshot::Receiver doesn't work properly with futures::select!, because it has a broken FusedFuture implementation. (See futures-rs ticket #2455.)

Wrapping it up in a future::Fuse works around this, with a minor performance penalty.

Limitations

The API of this Receiver is rather more limited. For example, it lacks .try_recv().


oneshot-fused-workaround

Thin veneer over futures::channel::oneshot to fix use with futures::select!. See futures-rs ticket #2455.

License: MIT OR Apache-2.0

Dependencies

~0.6–0.8MB
~15K SLoC