@@ -22,19 +22,17 @@ use ty::Unsafe;
22
22
/// A mutable memory location that admits only `Pod` data.
23
23
pub struct Cell < T > {
24
24
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 ,
28
27
}
29
28
30
29
impl < T : Pod > Cell < T > {
31
30
/// Creates a new `Cell` containing the given value.
32
31
pub fn new ( value : T ) -> Cell < T > {
33
32
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 ,
38
36
}
39
37
}
40
38
@@ -75,10 +73,9 @@ impl<T: fmt::Show> fmt::Show for Cell<T> {
75
73
pub struct RefCell < T > {
76
74
priv value : Unsafe < T > ,
77
75
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 ,
82
79
}
83
80
84
81
// Values [1, MAX-1] represent the number of `Ref` active
@@ -91,11 +88,10 @@ impl<T> RefCell<T> {
91
88
/// Create a new `RefCell` containing `value`
92
89
pub fn new ( value : T ) -> RefCell < T > {
93
90
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) ,
99
95
borrow : UNUSED ,
100
96
}
101
97
}
0 commit comments