Skip to content

Commit 7e9a8e3

Browse files
committed
Auto merge of #26177 - jooert:fix26169, r=alexcrichton
Closes #26169. r? @steveklabnik
2 parents fc9e424 + 5c9f069 commit 7e9a8e3

File tree

1 file changed

+71
-54
lines changed

1 file changed

+71
-54
lines changed

src/libcore/atomic.rs

Lines changed: 71 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ impl AtomicBool {
216216
///
217217
/// let some_bool = AtomicBool::new(true);
218218
///
219-
/// let value = some_bool.load(Ordering::Relaxed);
219+
/// assert_eq!(some_bool.load(Ordering::Relaxed), true);
220220
/// ```
221221
#[inline]
222222
#[stable(feature = "rust1", since = "1.0.0")]
@@ -236,6 +236,7 @@ impl AtomicBool {
236236
/// let some_bool = AtomicBool::new(true);
237237
///
238238
/// some_bool.store(false, Ordering::Relaxed);
239+
/// assert_eq!(some_bool.load(Ordering::Relaxed), false);
239240
/// ```
240241
///
241242
/// # Panics
@@ -260,7 +261,8 @@ impl AtomicBool {
260261
///
261262
/// let some_bool = AtomicBool::new(true);
262263
///
263-
/// let value = some_bool.swap(false, Ordering::Relaxed);
264+
/// assert_eq!(some_bool.swap(false, Ordering::Relaxed), true);
265+
/// assert_eq!(some_bool.load(Ordering::Relaxed), false);
264266
/// ```
265267
#[inline]
266268
#[stable(feature = "rust1", since = "1.0.0")]
@@ -285,7 +287,11 @@ impl AtomicBool {
285287
///
286288
/// let some_bool = AtomicBool::new(true);
287289
///
288-
/// let value = some_bool.store(false, Ordering::Relaxed);
290+
/// assert_eq!(some_bool.compare_and_swap(true, false, Ordering::Relaxed), true);
291+
/// assert_eq!(some_bool.load(Ordering::Relaxed), false);
292+
///
293+
/// assert_eq!(some_bool.compare_and_swap(true, true, Ordering::Relaxed), false);
294+
/// assert_eq!(some_bool.load(Ordering::Relaxed), false);
289295
/// ```
290296
#[inline]
291297
#[stable(feature = "rust1", since = "1.0.0")]
@@ -309,16 +315,16 @@ impl AtomicBool {
309315
/// use std::sync::atomic::{AtomicBool, Ordering};
310316
///
311317
/// let foo = AtomicBool::new(true);
312-
/// assert_eq!(true, foo.fetch_and(false, Ordering::SeqCst));
313-
/// assert_eq!(false, foo.load(Ordering::SeqCst));
318+
/// assert_eq!(foo.fetch_and(false, Ordering::SeqCst), true);
319+
/// assert_eq!(foo.load(Ordering::SeqCst), false);
314320
///
315321
/// let foo = AtomicBool::new(true);
316-
/// assert_eq!(true, foo.fetch_and(true, Ordering::SeqCst));
317-
/// assert_eq!(true, foo.load(Ordering::SeqCst));
322+
/// assert_eq!(foo.fetch_and(true, Ordering::SeqCst), true);
323+
/// assert_eq!(foo.load(Ordering::SeqCst), true);
318324
///
319325
/// let foo = AtomicBool::new(false);
320-
/// assert_eq!(false, foo.fetch_and(false, Ordering::SeqCst));
321-
/// assert_eq!(false, foo.load(Ordering::SeqCst));
326+
/// assert_eq!(foo.fetch_and(false, Ordering::SeqCst), false);
327+
/// assert_eq!(foo.load(Ordering::SeqCst), false);
322328
/// ```
323329
#[inline]
324330
#[stable(feature = "rust1", since = "1.0.0")]
@@ -341,17 +347,17 @@ impl AtomicBool {
341347
/// use std::sync::atomic::{AtomicBool, Ordering};
342348
///
343349
/// let foo = AtomicBool::new(true);
344-
/// assert_eq!(true, foo.fetch_nand(false, Ordering::SeqCst));
345-
/// assert_eq!(true, foo.load(Ordering::SeqCst));
350+
/// assert_eq!(foo.fetch_nand(false, Ordering::SeqCst), true);
351+
/// assert_eq!(foo.load(Ordering::SeqCst), true);
346352
///
347353
/// let foo = AtomicBool::new(true);
348-
/// assert_eq!(true, foo.fetch_nand(true, Ordering::SeqCst));
349-
/// assert_eq!(0, foo.load(Ordering::SeqCst) as usize);
350-
/// assert_eq!(false, foo.load(Ordering::SeqCst));
354+
/// assert_eq!(foo.fetch_nand(true, Ordering::SeqCst), true);
355+
/// assert_eq!(foo.load(Ordering::SeqCst) as usize, 0);
356+
/// assert_eq!(foo.load(Ordering::SeqCst), false);
351357
///
352358
/// let foo = AtomicBool::new(false);
353-
/// assert_eq!(false, foo.fetch_nand(false, Ordering::SeqCst));
354-
/// assert_eq!(true, foo.load(Ordering::SeqCst));
359+
/// assert_eq!(foo.fetch_nand(false, Ordering::SeqCst), false);
360+
/// assert_eq!(foo.load(Ordering::SeqCst), true);
355361
/// ```
356362
#[inline]
357363
#[stable(feature = "rust1", since = "1.0.0")]
@@ -374,16 +380,16 @@ impl AtomicBool {
374380
/// use std::sync::atomic::{AtomicBool, Ordering};
375381
///
376382
/// let foo = AtomicBool::new(true);
377-
/// assert_eq!(true, foo.fetch_or(false, Ordering::SeqCst));
378-
/// assert_eq!(true, foo.load(Ordering::SeqCst));
383+
/// assert_eq!(foo.fetch_or(false, Ordering::SeqCst), true);
384+
/// assert_eq!(foo.load(Ordering::SeqCst), true);
379385
///
380386
/// let foo = AtomicBool::new(true);
381-
/// assert_eq!(true, foo.fetch_or(true, Ordering::SeqCst));
382-
/// assert_eq!(true, foo.load(Ordering::SeqCst));
387+
/// assert_eq!(foo.fetch_or(true, Ordering::SeqCst), true);
388+
/// assert_eq!(foo.load(Ordering::SeqCst), true);
383389
///
384390
/// let foo = AtomicBool::new(false);
385-
/// assert_eq!(false, foo.fetch_or(false, Ordering::SeqCst));
386-
/// assert_eq!(false, foo.load(Ordering::SeqCst));
391+
/// assert_eq!(foo.fetch_or(false, Ordering::SeqCst), false);
392+
/// assert_eq!(foo.load(Ordering::SeqCst), false);
387393
/// ```
388394
#[inline]
389395
#[stable(feature = "rust1", since = "1.0.0")]
@@ -406,16 +412,16 @@ impl AtomicBool {
406412
/// use std::sync::atomic::{AtomicBool, Ordering};
407413
///
408414
/// let foo = AtomicBool::new(true);
409-
/// assert_eq!(true, foo.fetch_xor(false, Ordering::SeqCst));
410-
/// assert_eq!(true, foo.load(Ordering::SeqCst));
415+
/// assert_eq!(foo.fetch_xor(false, Ordering::SeqCst), true);
416+
/// assert_eq!(foo.load(Ordering::SeqCst), true);
411417
///
412418
/// let foo = AtomicBool::new(true);
413-
/// assert_eq!(true, foo.fetch_xor(true, Ordering::SeqCst));
414-
/// assert_eq!(false, foo.load(Ordering::SeqCst));
419+
/// assert_eq!(foo.fetch_xor(true, Ordering::SeqCst), true);
420+
/// assert_eq!(foo.load(Ordering::SeqCst), false);
415421
///
416422
/// let foo = AtomicBool::new(false);
417-
/// assert_eq!(false, foo.fetch_xor(false, Ordering::SeqCst));
418-
/// assert_eq!(false, foo.load(Ordering::SeqCst));
423+
/// assert_eq!(foo.fetch_xor(false, Ordering::SeqCst), false);
424+
/// assert_eq!(foo.load(Ordering::SeqCst), false);
419425
/// ```
420426
#[inline]
421427
#[stable(feature = "rust1", since = "1.0.0")]
@@ -458,7 +464,7 @@ impl AtomicIsize {
458464
///
459465
/// let some_isize = AtomicIsize::new(5);
460466
///
461-
/// let value = some_isize.load(Ordering::Relaxed);
467+
/// assert_eq!(some_isize.load(Ordering::Relaxed), 5);
462468
/// ```
463469
#[inline]
464470
#[stable(feature = "rust1", since = "1.0.0")]
@@ -478,6 +484,7 @@ impl AtomicIsize {
478484
/// let some_isize = AtomicIsize::new(5);
479485
///
480486
/// some_isize.store(10, Ordering::Relaxed);
487+
/// assert_eq!(some_isize.load(Ordering::Relaxed), 10);
481488
/// ```
482489
///
483490
/// # Panics
@@ -500,7 +507,7 @@ impl AtomicIsize {
500507
///
501508
/// let some_isize = AtomicIsize::new(5);
502509
///
503-
/// let value = some_isize.swap(10, Ordering::Relaxed);
510+
/// assert_eq!(some_isize.swap(10, Ordering::Relaxed), 5);
504511
/// ```
505512
#[inline]
506513
#[stable(feature = "rust1", since = "1.0.0")]
@@ -523,7 +530,11 @@ impl AtomicIsize {
523530
///
524531
/// let some_isize = AtomicIsize::new(5);
525532
///
526-
/// let value = some_isize.compare_and_swap(5, 10, Ordering::Relaxed);
533+
/// assert_eq!(some_isize.compare_and_swap(5, 10, Ordering::Relaxed), 5);
534+
/// assert_eq!(some_isize.load(Ordering::Relaxed), 10);
535+
///
536+
/// assert_eq!(some_isize.compare_and_swap(6, 12, Ordering::Relaxed), 10);
537+
/// assert_eq!(some_isize.load(Ordering::Relaxed), 10);
527538
/// ```
528539
#[inline]
529540
#[stable(feature = "rust1", since = "1.0.0")]
@@ -539,8 +550,8 @@ impl AtomicIsize {
539550
/// use std::sync::atomic::{AtomicIsize, Ordering};
540551
///
541552
/// let foo = AtomicIsize::new(0);
542-
/// assert_eq!(0, foo.fetch_add(10, Ordering::SeqCst));
543-
/// assert_eq!(10, foo.load(Ordering::SeqCst));
553+
/// assert_eq!(foo.fetch_add(10, Ordering::SeqCst), 0);
554+
/// assert_eq!(foo.load(Ordering::SeqCst), 10);
544555
/// ```
545556
#[inline]
546557
#[stable(feature = "rust1", since = "1.0.0")]
@@ -556,8 +567,8 @@ impl AtomicIsize {
556567
/// use std::sync::atomic::{AtomicIsize, Ordering};
557568
///
558569
/// let foo = AtomicIsize::new(0);
559-
/// assert_eq!(0, foo.fetch_sub(10, Ordering::SeqCst));
560-
/// assert_eq!(-10, foo.load(Ordering::SeqCst));
570+
/// assert_eq!(foo.fetch_sub(10, Ordering::SeqCst), 0);
571+
/// assert_eq!(foo.load(Ordering::SeqCst), -10);
561572
/// ```
562573
#[inline]
563574
#[stable(feature = "rust1", since = "1.0.0")]
@@ -573,8 +584,8 @@ impl AtomicIsize {
573584
/// use std::sync::atomic::{AtomicIsize, Ordering};
574585
///
575586
/// let foo = AtomicIsize::new(0b101101);
576-
/// assert_eq!(0b101101, foo.fetch_and(0b110011, Ordering::SeqCst));
577-
/// assert_eq!(0b100001, foo.load(Ordering::SeqCst));
587+
/// assert_eq!(foo.fetch_and(0b110011, Ordering::SeqCst), 0b101101);
588+
/// assert_eq!(foo.load(Ordering::SeqCst), 0b100001);
578589
#[inline]
579590
#[stable(feature = "rust1", since = "1.0.0")]
580591
pub fn fetch_and(&self, val: isize, order: Ordering) -> isize {
@@ -589,8 +600,8 @@ impl AtomicIsize {
589600
/// use std::sync::atomic::{AtomicIsize, Ordering};
590601
///
591602
/// let foo = AtomicIsize::new(0b101101);
592-
/// assert_eq!(0b101101, foo.fetch_or(0b110011, Ordering::SeqCst));
593-
/// assert_eq!(0b111111, foo.load(Ordering::SeqCst));
603+
/// assert_eq!(foo.fetch_or(0b110011, Ordering::SeqCst), 0b101101);
604+
/// assert_eq!(foo.load(Ordering::SeqCst), 0b111111);
594605
#[inline]
595606
#[stable(feature = "rust1", since = "1.0.0")]
596607
pub fn fetch_or(&self, val: isize, order: Ordering) -> isize {
@@ -605,8 +616,8 @@ impl AtomicIsize {
605616
/// use std::sync::atomic::{AtomicIsize, Ordering};
606617
///
607618
/// let foo = AtomicIsize::new(0b101101);
608-
/// assert_eq!(0b101101, foo.fetch_xor(0b110011, Ordering::SeqCst));
609-
/// assert_eq!(0b011110, foo.load(Ordering::SeqCst));
619+
/// assert_eq!(foo.fetch_xor(0b110011, Ordering::SeqCst), 0b101101);
620+
/// assert_eq!(foo.load(Ordering::SeqCst), 0b011110);
610621
#[inline]
611622
#[stable(feature = "rust1", since = "1.0.0")]
612623
pub fn fetch_xor(&self, val: isize, order: Ordering) -> isize {
@@ -646,7 +657,7 @@ impl AtomicUsize {
646657
///
647658
/// let some_usize = AtomicUsize::new(5);
648659
///
649-
/// let value = some_usize.load(Ordering::Relaxed);
660+
/// assert_eq!(some_usize.load(Ordering::Relaxed), 5);
650661
/// ```
651662
#[inline]
652663
#[stable(feature = "rust1", since = "1.0.0")]
@@ -666,6 +677,7 @@ impl AtomicUsize {
666677
/// let some_usize = AtomicUsize::new(5);
667678
///
668679
/// some_usize.store(10, Ordering::Relaxed);
680+
/// assert_eq!(some_usize.load(Ordering::Relaxed), 10);
669681
/// ```
670682
///
671683
/// # Panics
@@ -688,7 +700,8 @@ impl AtomicUsize {
688700
///
689701
/// let some_usize= AtomicUsize::new(5);
690702
///
691-
/// let value = some_usize.swap(10, Ordering::Relaxed);
703+
/// assert_eq!(some_usize.swap(10, Ordering::Relaxed), 5);
704+
/// assert_eq!(some_usize.load(Ordering::Relaxed), 10);
692705
/// ```
693706
#[inline]
694707
#[stable(feature = "rust1", since = "1.0.0")]
@@ -711,7 +724,11 @@ impl AtomicUsize {
711724
///
712725
/// let some_usize = AtomicUsize::new(5);
713726
///
714-
/// let value = some_usize.compare_and_swap(5, 10, Ordering::Relaxed);
727+
/// assert_eq!(some_usize.compare_and_swap(5, 10, Ordering::Relaxed), 5);
728+
/// assert_eq!(some_usize.load(Ordering::Relaxed), 10);
729+
///
730+
/// assert_eq!(some_usize.compare_and_swap(6, 12, Ordering::Relaxed), 10);
731+
/// assert_eq!(some_usize.load(Ordering::Relaxed), 10);
715732
/// ```
716733
#[inline]
717734
#[stable(feature = "rust1", since = "1.0.0")]
@@ -727,8 +744,8 @@ impl AtomicUsize {
727744
/// use std::sync::atomic::{AtomicUsize, Ordering};
728745
///
729746
/// let foo = AtomicUsize::new(0);
730-
/// assert_eq!(0, foo.fetch_add(10, Ordering::SeqCst));
731-
/// assert_eq!(10, foo.load(Ordering::SeqCst));
747+
/// assert_eq!(foo.fetch_add(10, Ordering::SeqCst), 0);
748+
/// assert_eq!(foo.load(Ordering::SeqCst), 10);
732749
/// ```
733750
#[inline]
734751
#[stable(feature = "rust1", since = "1.0.0")]
@@ -744,8 +761,8 @@ impl AtomicUsize {
744761
/// use std::sync::atomic::{AtomicUsize, Ordering};
745762
///
746763
/// let foo = AtomicUsize::new(10);
747-
/// assert_eq!(10, foo.fetch_sub(10, Ordering::SeqCst));
748-
/// assert_eq!(0, foo.load(Ordering::SeqCst));
764+
/// assert_eq!(foo.fetch_sub(10, Ordering::SeqCst), 10);
765+
/// assert_eq!(foo.load(Ordering::SeqCst), 0);
749766
/// ```
750767
#[inline]
751768
#[stable(feature = "rust1", since = "1.0.0")]
@@ -761,8 +778,8 @@ impl AtomicUsize {
761778
/// use std::sync::atomic::{AtomicUsize, Ordering};
762779
///
763780
/// let foo = AtomicUsize::new(0b101101);
764-
/// assert_eq!(0b101101, foo.fetch_and(0b110011, Ordering::SeqCst));
765-
/// assert_eq!(0b100001, foo.load(Ordering::SeqCst));
781+
/// assert_eq!(foo.fetch_and(0b110011, Ordering::SeqCst), 0b101101);
782+
/// assert_eq!(foo.load(Ordering::SeqCst), 0b100001);
766783
#[inline]
767784
#[stable(feature = "rust1", since = "1.0.0")]
768785
pub fn fetch_and(&self, val: usize, order: Ordering) -> usize {
@@ -777,8 +794,8 @@ impl AtomicUsize {
777794
/// use std::sync::atomic::{AtomicUsize, Ordering};
778795
///
779796
/// let foo = AtomicUsize::new(0b101101);
780-
/// assert_eq!(0b101101, foo.fetch_or(0b110011, Ordering::SeqCst));
781-
/// assert_eq!(0b111111, foo.load(Ordering::SeqCst));
797+
/// assert_eq!(foo.fetch_or(0b110011, Ordering::SeqCst), 0b101101);
798+
/// assert_eq!(foo.load(Ordering::SeqCst), 0b111111);
782799
#[inline]
783800
#[stable(feature = "rust1", since = "1.0.0")]
784801
pub fn fetch_or(&self, val: usize, order: Ordering) -> usize {
@@ -793,8 +810,8 @@ impl AtomicUsize {
793810
/// use std::sync::atomic::{AtomicUsize, Ordering};
794811
///
795812
/// let foo = AtomicUsize::new(0b101101);
796-
/// assert_eq!(0b101101, foo.fetch_xor(0b110011, Ordering::SeqCst));
797-
/// assert_eq!(0b011110, foo.load(Ordering::SeqCst));
813+
/// assert_eq!(foo.fetch_xor(0b110011, Ordering::SeqCst), 0b101101);
814+
/// assert_eq!(foo.load(Ordering::SeqCst), 0b011110);
798815
#[inline]
799816
#[stable(feature = "rust1", since = "1.0.0")]
800817
pub fn fetch_xor(&self, val: usize, order: Ordering) -> usize {

0 commit comments

Comments
 (0)