@@ -448,30 +448,6 @@ impl<T: Ord> Default for BTreeSet<T> {
448448}
449449
450450#[ 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
475451impl < ' a , ' b , T : Ord + Clone > Sub < & ' b BTreeSet < T > , BTreeSet < T > > for & ' a BTreeSet < T > {
476452 /// Returns the difference of `self` and `rhs` as a new `BTreeSet<T>`.
477453 ///
@@ -492,31 +468,8 @@ impl<'a, 'b, T: Ord + Clone> Sub<&'b BTreeSet<T>, BTreeSet<T>> for &'a BTreeSet<
492468 }
493469}
494470
495- #[ 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- }
517471
518472#[ unstable = "matches collection reform specification, waiting for dust to settle" ]
519- #[ cfg( not( stage0) ) ] // NOTE(stage0): Remove cfg after a snapshot
520473impl < ' a , ' b , T : Ord + Clone > BitXor < & ' b BTreeSet < T > , BTreeSet < T > > for & ' a BTreeSet < T > {
521474 /// Returns the symmetric difference of `self` and `rhs` as a new `BTreeSet<T>`.
522475 ///
@@ -537,31 +490,8 @@ impl<'a, 'b, T: Ord + Clone> BitXor<&'b BTreeSet<T>, BTreeSet<T>> for &'a BTreeS
537490 }
538491}
539492
540- #[ 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- }
562493
563494#[ unstable = "matches collection reform specification, waiting for dust to settle" ]
564- #[ cfg( not( stage0) ) ] // NOTE(stage0): Remove cfg after a snapshot
565495impl < ' a , ' b , T : Ord + Clone > BitAnd < & ' b BTreeSet < T > , BTreeSet < T > > for & ' a BTreeSet < T > {
566496 /// Returns the intersection of `self` and `rhs` as a new `BTreeSet<T>`.
567497 ///
@@ -582,31 +512,8 @@ impl<'a, 'b, T: Ord + Clone> BitAnd<&'b BTreeSet<T>, BTreeSet<T>> for &'a BTreeS
582512 }
583513}
584514
585- #[ 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- }
607515
608516#[ unstable = "matches collection reform specification, waiting for dust to settle" ]
609- #[ cfg( not( stage0) ) ] // NOTE(stage0): Remove cfg after a snapshot
610517impl < ' a , ' b , T : Ord + Clone > BitOr < & ' b BTreeSet < T > , BTreeSet < T > > for & ' a BTreeSet < T > {
611518 /// Returns the union of `self` and `rhs` as a new `BTreeSet<T>`.
612519 ///
0 commit comments