mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-28 17:53:56 +00:00
Auto merge of #87467 - inquisitivecrystal:ref-unwind, r=dtolnay
Implement `RefUnwindSafe` for `Rc<T>` This PR implements `RefUnwindSafe` for `Rc<T>`, where `T: RefUnwindSafe`. This impl was omitted by an apparent oversight. `Rc<T>` already implements `UnwindSafe`. `Arc<T>` implements both `UnwindSafe` and `RefUnwindSafe`. There is no reason why an `&Rc<T>` is any less unwind safe than a `Rc<T>` or an `&Arc<T>`, so this should be safe to add. Resolves #45924.
This commit is contained in:
commit
4061c04079
@ -318,6 +318,8 @@ impl<T: ?Sized> !marker::Sync for Rc<T> {}
|
||||
|
||||
#[stable(feature = "catch_unwind", since = "1.9.0")]
|
||||
impl<T: RefUnwindSafe + ?Sized> UnwindSafe for Rc<T> {}
|
||||
#[stable(feature = "rc_ref_unwind_safe", since = "1.58.0")]
|
||||
impl<T: RefUnwindSafe + ?Sized> RefUnwindSafe for Rc<T> {}
|
||||
|
||||
#[unstable(feature = "coerce_unsized", issue = "27732")]
|
||||
impl<T: ?Sized + Unsize<U>, U: ?Sized> CoerceUnsized<Rc<U>> for Rc<T> {}
|
||||
|
Loading…
Reference in New Issue
Block a user