| /// 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; | |
| } |