Skip to content

Commit 61144c9

Browse files
committed
---
yaml --- r: 109186 b: refs/heads/dist-snap c: 21d23ff h: refs/heads/master v: v3
1 parent e270e5c commit 61144c9

File tree

3 files changed

+19
-8
lines changed

3 files changed

+19
-8
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ refs/heads/try: f64fdf524a434f0e5cd0bc91d09c144723f3c90d
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
9-
refs/heads/dist-snap: 37154fb8b939e9f81d9feb8139c7879099fb5cd6
9+
refs/heads/dist-snap: 21d23ff25b3709bbd72b62613ba6db00d65bf1a4
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1212
refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0

branches/dist-snap/src/libstd/cell.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ pub struct Cell<T> {
2323
priv value: T,
2424
priv marker1: marker::InvariantType<T>,
2525
priv marker2: marker::NoFreeze,
26+
priv marker3: marker::NoShare,
2627
}
2728

2829
impl<T:Pod> Cell<T> {
@@ -32,6 +33,7 @@ impl<T:Pod> Cell<T> {
3233
value: value,
3334
marker1: marker::InvariantType::<T>,
3435
marker2: marker::NoFreeze,
36+
marker3: marker::NoShare,
3537
}
3638
}
3739

@@ -75,6 +77,7 @@ pub struct RefCell<T> {
7577
priv marker1: marker::InvariantType<T>,
7678
priv marker2: marker::NoFreeze,
7779
priv marker3: marker::NoPod,
80+
priv marker4: marker::NoShare,
7881
}
7982

8083
// Values [1, MAX-1] represent the number of `Ref` active
@@ -90,6 +93,7 @@ impl<T> RefCell<T> {
9093
marker1: marker::InvariantType::<T>,
9194
marker2: marker::NoFreeze,
9295
marker3: marker::NoPod,
96+
marker4: marker::NoShare,
9397
value: value,
9498
borrow: UNUSED,
9599
}

branches/dist-snap/src/libstd/rc.rs

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ struct RcBox<T> {
4242
#[unsafe_no_drop_flag]
4343
pub struct Rc<T> {
4444
priv ptr: *mut RcBox<T>,
45-
priv marker: marker::NoSend
45+
priv nosend: marker::NoSend,
46+
priv noshare: marker::NoShare
4647
}
4748

4849
impl<T> Rc<T> {
@@ -56,7 +57,8 @@ impl<T> Rc<T> {
5657
// strong destructor is running, even if the weak
5758
// pointer is stored inside the strong one.
5859
ptr: transmute(~RcBox { value: value, strong: 1, weak: 1 }),
59-
marker: marker::NoSend,
60+
nosend: marker::NoSend,
61+
noshare: marker::NoShare
6062
}
6163
}
6264
}
@@ -67,7 +69,11 @@ impl<T> Rc<T> {
6769
pub fn downgrade(&self) -> Weak<T> {
6870
unsafe {
6971
(*self.ptr).weak += 1;
70-
Weak { ptr: self.ptr, marker: marker::NoSend }
72+
Weak {
73+
ptr: self.ptr,
74+
nosend: marker::NoSend,
75+
noshare: marker::NoShare
76+
}
7177
}
7278
}
7379
}
@@ -107,7 +113,7 @@ impl<T> Clone for Rc<T> {
107113
fn clone(&self) -> Rc<T> {
108114
unsafe {
109115
(*self.ptr).strong += 1;
110-
Rc { ptr: self.ptr, marker: marker::NoSend }
116+
Rc { ptr: self.ptr, nosend: marker::NoSend, noshare: marker::NoShare }
111117
}
112118
}
113119
}
@@ -138,7 +144,8 @@ impl<T: Ord> Ord for Rc<T> {
138144
#[unsafe_no_drop_flag]
139145
pub struct Weak<T> {
140146
priv ptr: *mut RcBox<T>,
141-
priv marker: marker::NoSend
147+
priv nosend: marker::NoSend,
148+
priv noshare: marker::NoShare
142149
}
143150

144151
impl<T> Weak<T> {
@@ -149,7 +156,7 @@ impl<T> Weak<T> {
149156
None
150157
} else {
151158
(*self.ptr).strong += 1;
152-
Some(Rc { ptr: self.ptr, marker: marker::NoSend })
159+
Some(Rc { ptr: self.ptr, nosend: marker::NoSend, noshare: marker::NoShare })
153160
}
154161
}
155162
}
@@ -176,7 +183,7 @@ impl<T> Clone for Weak<T> {
176183
fn clone(&self) -> Weak<T> {
177184
unsafe {
178185
(*self.ptr).weak += 1;
179-
Weak { ptr: self.ptr, marker: marker::NoSend }
186+
Weak { ptr: self.ptr, nosend: marker::NoSend, noshare: marker::NoShare }
180187
}
181188
}
182189
}

0 commit comments

Comments
 (0)