core/ops/
reborrow.rs

1/// Allows value to be reborrowed as exclusive, creating a copy of the value
2/// that disables the source for reads and writes for the lifetime of the copy.
3#[lang = "reborrow"]
4#[unstable(feature = "reborrow", issue = "145612")]
5pub trait Reborrow {
6    // Empty.
7}
8
9/// Allows reborrowable value to be reborrowed as shared, creating a copy
10/// that disables the source for writes for the lifetime of the copy.
11#[lang = "coerce_shared"]
12#[unstable(feature = "reborrow", issue = "145612")]
13pub trait CoerceShared: Reborrow {
14    /// The type of this value when reborrowed as shared.
15    type Target: Copy;
16}