-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
From PR #7:
Actually, there's more soundness bugs with the signatures of the future_[de]sync() methods. To illustrate:
use desync::Desync; use futures::executor; fn leak_local<T: Send>(v: T) -> &'static mut T { let desync = Desync::new(v); let future = desync.future_sync(|v| async { v }); executor::block_on(future).unwrap() }
This was introduced by the change in v0.8 that removed the need to box the future, I think. The lifetime of the borrow is insufficiently restricted without the higher-order trait bound imposed on the function.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels