Skip to content

Commit a08504b

Browse files
committed
Auto merge of #21995 - leejunseok:fix_invariant_ex, r=steveklabnik
Should fix #20147 This is my second PR in the history of ever (I botched my first one #21828). Any tips would be appreciated!
2 parents e62fec3 + 310ada0 commit a08504b

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/libcore/marker.rs

+6-5
Original file line numberDiff line numberDiff line change
@@ -311,16 +311,17 @@ impl<T: ?Sized> Clone for ContravariantType<T> {
311311
///
312312
/// # Example
313313
///
314-
/// The Cell type is an example which uses unsafe code to achieve
315-
/// "interior" mutability:
314+
/// The Cell type is an example of an `InvariantType` which uses unsafe
315+
/// code to achieve "interior" mutability:
316316
///
317317
/// ```
318318
/// struct Cell<T> { value: T }
319319
/// ```
320320
///
321-
/// The type system would infer that `value` is only read here and
322-
/// never written, but in fact `Cell` uses unsafe code to achieve
323-
/// interior mutability.
321+
/// The type system would infer that `value` is only read here
322+
/// and never written, but in fact `Cell` uses unsafe code to achieve
323+
/// interior mutability. In order to get correct behavior, the
324+
/// `InvariantType` marker must be applied.
324325
#[unstable(feature = "core",
325326
reason = "likely to change with new variance strategy")]
326327
#[lang="invariant_type"]

0 commit comments

Comments
 (0)