@@ -448,30 +448,6 @@ impl<T: Ord> Default for BTreeSet<T> {
448
448
}
449
449
450
450
#[ unstable = "matches collection reform specification, waiting for dust to settle" ]
451
- // NOTE(stage0): Remove impl after a snapshot
452
- #[ cfg( stage0) ]
453
- impl < T : Ord + Clone > Sub < BTreeSet < T > , BTreeSet < T > > for BTreeSet < T > {
454
- /// Returns the difference of `self` and `rhs` as a new `BTreeSet<T>`.
455
- ///
456
- /// # Examples
457
- ///
458
- /// ```
459
- /// use std::collections::BTreeSet;
460
- ///
461
- /// let a: BTreeSet<int> = vec![1,2,3].into_iter().collect();
462
- /// let b: BTreeSet<int> = vec![3,4,5].into_iter().collect();
463
- ///
464
- /// let result: BTreeSet<int> = a - b;
465
- /// let result_vec: Vec<int> = result.into_iter().collect();
466
- /// assert_eq!(result_vec, vec![1,2]);
467
- /// ```
468
- fn sub ( & self , rhs : & BTreeSet < T > ) -> BTreeSet < T > {
469
- self . difference ( rhs) . cloned ( ) . collect ( )
470
- }
471
- }
472
-
473
- #[ unstable = "matches collection reform specification, waiting for dust to settle" ]
474
- #[ cfg( not( stage0) ) ] // NOTE(stage0): Remove cfg after a snapshot
475
451
impl < ' a , ' b , T : Ord + Clone > Sub < & ' b BTreeSet < T > , BTreeSet < T > > for & ' a BTreeSet < T > {
476
452
/// Returns the difference of `self` and `rhs` as a new `BTreeSet<T>`.
477
453
///
@@ -493,30 +469,6 @@ impl<'a, 'b, T: Ord + Clone> Sub<&'b BTreeSet<T>, BTreeSet<T>> for &'a BTreeSet<
493
469
}
494
470
495
471
#[ unstable = "matches collection reform specification, waiting for dust to settle" ]
496
- // NOTE(stage0): Remove impl after a snapshot
497
- #[ cfg( stage0) ]
498
- impl < T : Ord + Clone > BitXor < BTreeSet < T > , BTreeSet < T > > for BTreeSet < T > {
499
- /// Returns the symmetric difference of `self` and `rhs` as a new `BTreeSet<T>`.
500
- ///
501
- /// # Examples
502
- ///
503
- /// ```
504
- /// use std::collections::BTreeSet;
505
- ///
506
- /// let a: BTreeSet<int> = vec![1,2,3].into_iter().collect();
507
- /// let b: BTreeSet<int> = vec![2,3,4].into_iter().collect();
508
- ///
509
- /// let result: BTreeSet<int> = a ^ b;
510
- /// let result_vec: Vec<int> = result.into_iter().collect();
511
- /// assert_eq!(result_vec, vec![1,4]);
512
- /// ```
513
- fn bitxor ( & self , rhs : & BTreeSet < T > ) -> BTreeSet < T > {
514
- self . symmetric_difference ( rhs) . cloned ( ) . collect ( )
515
- }
516
- }
517
-
518
- #[ unstable = "matches collection reform specification, waiting for dust to settle" ]
519
- #[ cfg( not( stage0) ) ] // NOTE(stage0): Remove cfg after a snapshot
520
472
impl < ' a , ' b , T : Ord + Clone > BitXor < & ' b BTreeSet < T > , BTreeSet < T > > for & ' a BTreeSet < T > {
521
473
/// Returns the symmetric difference of `self` and `rhs` as a new `BTreeSet<T>`.
522
474
///
@@ -538,30 +490,6 @@ impl<'a, 'b, T: Ord + Clone> BitXor<&'b BTreeSet<T>, BTreeSet<T>> for &'a BTreeS
538
490
}
539
491
540
492
#[ unstable = "matches collection reform specification, waiting for dust to settle" ]
541
- // NOTE(stage0): Remove impl after a snapshot
542
- #[ cfg( stage0) ]
543
- impl < T : Ord + Clone > BitAnd < BTreeSet < T > , BTreeSet < T > > for BTreeSet < T > {
544
- /// Returns the intersection of `self` and `rhs` as a new `BTreeSet<T>`.
545
- ///
546
- /// # Examples
547
- ///
548
- /// ```
549
- /// use std::collections::BTreeSet;
550
- ///
551
- /// let a: BTreeSet<int> = vec![1,2,3].into_iter().collect();
552
- /// let b: BTreeSet<int> = vec![2,3,4].into_iter().collect();
553
- ///
554
- /// let result: BTreeSet<int> = a & b;
555
- /// let result_vec: Vec<int> = result.into_iter().collect();
556
- /// assert_eq!(result_vec, vec![2,3]);
557
- /// ```
558
- fn bitand ( & self , rhs : & BTreeSet < T > ) -> BTreeSet < T > {
559
- self . intersection ( rhs) . cloned ( ) . collect ( )
560
- }
561
- }
562
-
563
- #[ unstable = "matches collection reform specification, waiting for dust to settle" ]
564
- #[ cfg( not( stage0) ) ] // NOTE(stage0): Remove cfg after a snapshot
565
493
impl < ' a , ' b , T : Ord + Clone > BitAnd < & ' b BTreeSet < T > , BTreeSet < T > > for & ' a BTreeSet < T > {
566
494
/// Returns the intersection of `self` and `rhs` as a new `BTreeSet<T>`.
567
495
///
@@ -583,30 +511,6 @@ impl<'a, 'b, T: Ord + Clone> BitAnd<&'b BTreeSet<T>, BTreeSet<T>> for &'a BTreeS
583
511
}
584
512
585
513
#[ unstable = "matches collection reform specification, waiting for dust to settle" ]
586
- // NOTE(stage0): Remove impl after a snapshot
587
- #[ cfg( stage0) ]
588
- impl < T : Ord + Clone > BitOr < BTreeSet < T > , BTreeSet < T > > for BTreeSet < T > {
589
- /// Returns the union of `self` and `rhs` as a new `BTreeSet<T>`.
590
- ///
591
- /// # Examples
592
- ///
593
- /// ```
594
- /// use std::collections::BTreeSet;
595
- ///
596
- /// let a: BTreeSet<int> = vec![1,2,3].into_iter().collect();
597
- /// let b: BTreeSet<int> = vec![3,4,5].into_iter().collect();
598
- ///
599
- /// let result: BTreeSet<int> = a | b;
600
- /// let result_vec: Vec<int> = result.into_iter().collect();
601
- /// assert_eq!(result_vec, vec![1,2,3,4,5]);
602
- /// ```
603
- fn bitor ( & self , rhs : & BTreeSet < T > ) -> BTreeSet < T > {
604
- self . union ( rhs) . cloned ( ) . collect ( )
605
- }
606
- }
607
-
608
- #[ unstable = "matches collection reform specification, waiting for dust to settle" ]
609
- #[ cfg( not( stage0) ) ] // NOTE(stage0): Remove cfg after a snapshot
610
514
impl < ' a , ' b , T : Ord + Clone > BitOr < & ' b BTreeSet < T > , BTreeSet < T > > for & ' a BTreeSet < T > {
611
515
/// Returns the union of `self` and `rhs` as a new `BTreeSet<T>`.
612
516
///
0 commit comments