Skip to content

Commit 1d98fe1

Browse files
committed
Clean up marker types and Unsafe initialization
1 parent 181875c commit 1d98fe1

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

src/libstd/cell.rs

+12-16
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,17 @@ use ty::Unsafe;
2222
/// A mutable memory location that admits only `Pod` data.
2323
pub struct Cell<T> {
2424
priv value: Unsafe<T>,
25-
priv marker1: marker::InvariantType<T>,
26-
priv marker2: marker::NoFreeze,
27-
priv marker3: marker::NoShare,
25+
priv marker1: marker::NoFreeze,
26+
priv marker2: marker::NoShare,
2827
}
2928

3029
impl<T:Pod> Cell<T> {
3130
/// Creates a new `Cell` containing the given value.
3231
pub fn new(value: T) -> Cell<T> {
3332
Cell {
34-
value: Unsafe{value: value, marker1: marker::InvariantType::<T>},
35-
marker1: marker::InvariantType::<T>,
36-
marker2: marker::NoFreeze,
37-
marker3: marker::NoShare,
33+
value: Unsafe::new(value),
34+
marker1: marker::NoFreeze,
35+
marker2: marker::NoShare,
3836
}
3937
}
4038

@@ -75,10 +73,9 @@ impl<T: fmt::Show> fmt::Show for Cell<T> {
7573
pub struct RefCell<T> {
7674
priv value: Unsafe<T>,
7775
priv borrow: BorrowFlag,
78-
priv marker1: marker::InvariantType<T>,
79-
priv marker2: marker::NoFreeze,
80-
priv marker3: marker::NoPod,
81-
priv marker4: marker::NoShare,
76+
priv marker1: marker::NoFreeze,
77+
priv marker2: marker::NoPod,
78+
priv marker3: marker::NoShare,
8279
}
8380

8481
// Values [1, MAX-1] represent the number of `Ref` active
@@ -91,11 +88,10 @@ impl<T> RefCell<T> {
9188
/// Create a new `RefCell` containing `value`
9289
pub fn new(value: T) -> RefCell<T> {
9390
RefCell {
94-
marker1: marker::InvariantType::<T>,
95-
marker2: marker::NoFreeze,
96-
marker3: marker::NoPod,
97-
marker4: marker::NoShare,
98-
value: Unsafe{value: value, marker1: marker::InvariantType::<T>},
91+
marker1: marker::NoFreeze,
92+
marker2: marker::NoPod,
93+
marker3: marker::NoShare,
94+
value: Unsafe::new(value),
9995
borrow: UNUSED,
10096
}
10197
}

0 commit comments

Comments
 (0)