@@ -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 ///
@@ -493,30 +469,6 @@ impl<'a, 'b, T: Ord + Clone> Sub<&'b BTreeSet<T>, BTreeSet<T>> for &'a BTreeSet<
493469}
494470
495471#[ 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
520472impl < ' a , ' b , T : Ord + Clone > BitXor < & ' b BTreeSet < T > , BTreeSet < T > > for & ' a BTreeSet < T > {
521473 /// Returns the symmetric difference of `self` and `rhs` as a new `BTreeSet<T>`.
522474 ///
@@ -538,30 +490,6 @@ impl<'a, 'b, T: Ord + Clone> BitXor<&'b BTreeSet<T>, BTreeSet<T>> for &'a BTreeS
538490}
539491
540492#[ 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
565493impl < ' a , ' b , T : Ord + Clone > BitAnd < & ' b BTreeSet < T > , BTreeSet < T > > for & ' a BTreeSet < T > {
566494 /// Returns the intersection of `self` and `rhs` as a new `BTreeSet<T>`.
567495 ///
@@ -583,30 +511,6 @@ impl<'a, 'b, T: Ord + Clone> BitAnd<&'b BTreeSet<T>, BTreeSet<T>> for &'a BTreeS
583511}
584512
585513#[ 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
610514impl < ' a , ' b , T : Ord + Clone > BitOr < & ' b BTreeSet < T > , BTreeSet < T > > for & ' a BTreeSet < T > {
611515 /// Returns the union of `self` and `rhs` as a new `BTreeSet<T>`.
612516 ///
0 commit comments