You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I know parking_lot supports this so there's definitely some desire out there to have a feature for it. Longer term we could look into it and follow similar semantics since their lock_api's RawRwLockUpgrade as an idea for extending existing core types is very clean (e.g. trait extension of RwLock or make it into a 'Raw' type so that we can further extend with things like different priority structures). This is something that could be applied to other synchronization methods as well. For a quicker turnaround we could build it as a separate type? Furthermore we can derive lessons from async-lock as it's also runtime agnostic and can build it from the existing asyncband primitives.
Activity
tisonkun commentedon Aug 21, 2026
This sounds reasonable. I'd prefer to see an overall Rust API design since the main challenge in Async Rust primitives is proper API semantic.
mhambre commentedon Aug 21, 2026
I know parking_lot supports this so there's definitely some desire out there to have a feature for it. Longer term we could look into it and follow similar semantics since their lock_api's
RawRwLockUpgradeas an idea for extending existing core types is very clean (e.g. trait extension ofRwLockor make it into a 'Raw' type so that we can further extend with things like different priority structures). This is something that could be applied to other synchronization methods as well. For a quicker turnaround we could build it as a separate type? Furthermore we can derive lessons from async-lock as it's also runtime agnostic and can build it from the existing asyncband primitives.tisonkun commentedon Aug 22, 2026
This is possible. We may have a draft implementation and see.