about summary refs log tree commit diff
path: root/library/core/src/ops/reborrow.rs
blob: f83f4233a4de51ce9b22953ca6ed50bcf2e0654b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/// 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;
}