From cbcb191b970360e3b32a8be7d86d5c6ec2b8e7c9 Mon Sep 17 00:00:00 2001 From: Tobias Bucher Date: Mon, 26 Jan 2015 17:45:21 +0100 Subject: [PATCH] Remove comment about `UnsafeCell`s and `static` It has actually been safe to put an `UnsafeCell` into a non-mutable `static` since the `const` change. --- src/libcore/cell.rs | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/libcore/cell.rs b/src/libcore/cell.rs index 202d860021e..62029a4ea01 100644 --- a/src/libcore/cell.rs +++ b/src/libcore/cell.rs @@ -592,12 +592,6 @@ fn deref_mut<'a>(&'a mut self) -> &'a mut T { /// The `UnsafeCell` type is the only legal way to obtain aliasable data that is considered /// mutable. In general, transmuting an `&T` type into an `&mut T` is considered undefined behavior. /// -/// Although it is possible to put an `UnsafeCell` into static item, it is not permitted to take -/// the address of the static item if the item is not declared as mutable. This rule exists because -/// immutable static items are stored in read-only memory, and thus any attempt to mutate their -/// interior can cause segfaults. Immutable static items containing `UnsafeCell` instances are -/// still useful as read-only initializers, however, so we do not forbid them altogether. -/// /// Types like `Cell` and `RefCell` use this type to wrap their internal data. /// /// `UnsafeCell` doesn't opt-out from any marker traits, instead, types with an `UnsafeCell`