| /// Allows value to be reborrowed as exclusive, creating a copy of the value |
| /// that disables the source for reads and writes for the lifetime of the copy. |
| #[lang = "reborrow"] |
| #[unstable(feature = "reborrow", issue = "145612")] |
| pub trait Reborrow { |
| // Empty. |
| } |
| |
| /// Allows reborrowable value to be reborrowed as shared, creating a copy |
| /// that disables the source for writes for the lifetime of the copy. |
| #[lang = "coerce_shared"] |
| #[unstable(feature = "reborrow", issue = "145612")] |
| pub trait CoerceShared: Reborrow { |
| /// The type of this value when reborrowed as shared. |
| type Target: Copy; |
| } |