Skip to content

Commit a0e6e0e

Browse files
committed
auto merge of #10168 : reedlepee123/rust/priv_fields, r=brson
....rs #8180
2 parents 5e1a691 + d10106e commit a0e6e0e

File tree

2 files changed

+23
-23
lines changed

2 files changed

+23
-23
lines changed

Diff for: src/libstd/comm.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ impl<T: Send> SendDeferred<T> for SharedChan<T> {
193193
}
194194
}
195195

196-
impl<T> Clone for SharedChan<T> {
196+
impl<T: Send> Clone for SharedChan<T> {
197197
fn clone(&self) -> SharedChan<T> {
198198
let &SharedChan { x: ref c } = self;
199199
SharedChan { x: c.clone() }
@@ -221,7 +221,7 @@ impl<T: Send> GenericPort<T> for SharedPort<T> {
221221
}
222222
}
223223

224-
impl<T> Clone for SharedPort<T> {
224+
impl<T: Send> Clone for SharedPort<T> {
225225
fn clone(&self) -> SharedPort<T> {
226226
let &SharedPort { x: ref p } = self;
227227
SharedPort { x: p.clone() }

Diff for: src/libstd/rt/comm.rs

+21-21
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ pub fn oneshot<T: Send>() -> (PortOne<T>, ChanOne<T>) {
7878
}
7979
}
8080

81-
impl<T> ChanOne<T> {
81+
impl<T: Send> ChanOne<T> {
8282
#[inline]
8383
fn packet(&self) -> *mut Packet<T> {
8484
unsafe {
@@ -181,7 +181,7 @@ impl<T> ChanOne<T> {
181181
}
182182
}
183183

184-
impl<T> PortOne<T> {
184+
impl<T: Send> PortOne<T> {
185185
fn packet(&self) -> *mut Packet<T> {
186186
unsafe {
187187
let p: *mut ~Packet<T> = cast::transmute(&self.void_packet);
@@ -218,7 +218,7 @@ impl<T> PortOne<T> {
218218
}
219219
}
220220

221-
impl<T> SelectInner for PortOne<T> {
221+
impl<T: Send> SelectInner for PortOne<T> {
222222
#[inline] #[cfg(not(test))]
223223
fn optimistic_check(&mut self) -> bool {
224224
unsafe { (*self.packet()).state.load(Acquire) == STATE_ONE }
@@ -319,9 +319,9 @@ impl<T> SelectInner for PortOne<T> {
319319
}
320320
}
321321

322-
impl<T> Select for PortOne<T> { }
322+
impl<T: Send> Select for PortOne<T> { }
323323

324-
impl<T> SelectPortInner<T> for PortOne<T> {
324+
impl<T: Send> SelectPortInner<T> for PortOne<T> {
325325
fn recv_ready(mut self) -> Option<T> {
326326
let packet = self.packet();
327327

@@ -352,9 +352,9 @@ impl<T> SelectPortInner<T> for PortOne<T> {
352352
}
353353
}
354354

355-
impl<T> SelectPort<T> for PortOne<T> { }
355+
impl<T: Send> SelectPort<T> for PortOne<T> { }
356356

357-
impl<T> Peekable<T> for PortOne<T> {
357+
impl<T: Send> Peekable<T> for PortOne<T> {
358358
fn peek(&self) -> bool {
359359
unsafe {
360360
let packet: *mut Packet<T> = self.packet();
@@ -369,7 +369,7 @@ impl<T> Peekable<T> for PortOne<T> {
369369
}
370370

371371
#[unsafe_destructor]
372-
impl<T> Drop for ChanOne<T> {
372+
impl<T: Send> Drop for ChanOne<T> {
373373
fn drop(&mut self) {
374374
if self.suppress_finalize { return }
375375

@@ -396,7 +396,7 @@ impl<T> Drop for ChanOne<T> {
396396
}
397397

398398
#[unsafe_destructor]
399-
impl<T> Drop for PortOne<T> {
399+
impl<T: Send> Drop for PortOne<T> {
400400
fn drop(&mut self) {
401401
if self.suppress_finalize { return }
402402

@@ -478,7 +478,7 @@ impl<T: Send> SendDeferred<T> for Chan<T> {
478478
}
479479
}
480480

481-
impl<T> GenericPort<T> for Port<T> {
481+
impl<T: Send> GenericPort<T> for Port<T> {
482482
fn recv(&self) -> T {
483483
match self.try_recv() {
484484
Some(val) => val,
@@ -501,7 +501,7 @@ impl<T> GenericPort<T> for Port<T> {
501501
}
502502
}
503503

504-
impl<T> Peekable<T> for Port<T> {
504+
impl<T: Send> Peekable<T> for Port<T> {
505505
fn peek(&self) -> bool {
506506
self.next.with_mut_ref(|p| p.peek())
507507
}
@@ -511,7 +511,7 @@ impl<T> Peekable<T> for Port<T> {
511511
// of them, but a &Port<T> should also be selectable so you can select2 on it
512512
// alongside a PortOne<U> without passing the port by value in recv_ready.
513513

514-
impl<'self, T> SelectInner for &'self Port<T> {
514+
impl<'self, T: Send> SelectInner for &'self Port<T> {
515515
#[inline]
516516
fn optimistic_check(&mut self) -> bool {
517517
do self.next.with_mut_ref |pone| { pone.optimistic_check() }
@@ -529,9 +529,9 @@ impl<'self, T> SelectInner for &'self Port<T> {
529529
}
530530
}
531531

532-
impl<'self, T> Select for &'self Port<T> { }
532+
impl<'self, T: Send> Select for &'self Port<T> { }
533533

534-
impl<T> SelectInner for Port<T> {
534+
impl<T: Send> SelectInner for Port<T> {
535535
#[inline]
536536
fn optimistic_check(&mut self) -> bool {
537537
(&*self).optimistic_check()
@@ -548,9 +548,9 @@ impl<T> SelectInner for Port<T> {
548548
}
549549
}
550550

551-
impl<T> Select for Port<T> { }
551+
impl<T: Send> Select for Port<T> { }
552552

553-
impl<'self, T> SelectPortInner<T> for &'self Port<T> {
553+
impl<'self, T: Send> SelectPortInner<T> for &'self Port<T> {
554554
fn recv_ready(self) -> Option<T> {
555555
match self.next.take().recv_ready() {
556556
Some(StreamPayload { val, next }) => {
@@ -562,14 +562,14 @@ impl<'self, T> SelectPortInner<T> for &'self Port<T> {
562562
}
563563
}
564564

565-
impl<'self, T> SelectPort<T> for &'self Port<T> { }
565+
impl<'self, T: Send> SelectPort<T> for &'self Port<T> { }
566566

567567
pub struct SharedChan<T> {
568568
// Just like Chan, but a shared AtomicOption instead of Cell
569569
priv next: UnsafeArc<AtomicOption<StreamChanOne<T>>>
570570
}
571571

572-
impl<T> SharedChan<T> {
572+
impl<T: Send> SharedChan<T> {
573573
pub fn new(chan: Chan<T>) -> SharedChan<T> {
574574
let next = chan.next.take();
575575
let next = AtomicOption::new(~next);
@@ -609,7 +609,7 @@ impl<T: Send> SendDeferred<T> for SharedChan<T> {
609609
}
610610
}
611611

612-
impl<T> Clone for SharedChan<T> {
612+
impl<T: Send> Clone for SharedChan<T> {
613613
fn clone(&self) -> SharedChan<T> {
614614
SharedChan {
615615
next: self.next.clone()
@@ -622,7 +622,7 @@ pub struct SharedPort<T> {
622622
priv next_link: UnsafeArc<AtomicOption<PortOne<StreamPortOne<T>>>>
623623
}
624624

625-
impl<T> SharedPort<T> {
625+
impl<T: Send> SharedPort<T> {
626626
pub fn new(port: Port<T>) -> SharedPort<T> {
627627
// Put the data port into a new link pipe
628628
let next_data_port = port.next.take();
@@ -664,7 +664,7 @@ impl<T: Send> GenericPort<T> for SharedPort<T> {
664664
}
665665
}
666666

667-
impl<T> Clone for SharedPort<T> {
667+
impl<T: Send> Clone for SharedPort<T> {
668668
fn clone(&self) -> SharedPort<T> {
669669
SharedPort {
670670
next_link: self.next_link.clone()

0 commit comments

Comments
 (0)