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
Switch TypeErasedArc and TypeErasedRc to use ManuallyDrop when converting the raw pointer into a concrete Arc<T>, Rc<T> or Weak<T> to avoid incorrect behavior in case any method we call panics. Previously, the temporary would be dropped even if it shouldn't have, causing potential UB (use after free).
Add Prc::try_from_rc, Prc::try_project, Parc::try_from_arc, and Parc::try_project. These are fallible versions of the same methods without try_, where the FnOnce that's passed to these functions returns an Option. This allows for using Prc and Parc where the projected reference might be unavailable.