22//! Types representing 
33#![ allow( non_camel_case_types) ]  
44
5- use  crate :: simd:: { LaneCount ,   Select ,  Simd ,  SimdCast ,  SimdElement ,   SupportedLaneCount } ; 
5+ use  crate :: simd:: { Select ,  Simd ,  SimdCast ,  SimdElement } ; 
66use  core:: cmp:: Ordering ; 
77use  core:: { fmt,  mem} ; 
88
@@ -41,7 +41,6 @@ mod sealed {
4141pub  trait  Sealed  { 
4242        fn  valid < const  N :  usize > ( values :  Simd < Self ,  N > )  -> bool 
4343        where 
44-             LaneCount < N > :  SupportedLaneCount , 
4544            Self :  SimdElement ; 
4645
4746        fn  eq ( self ,  other :  Self )  -> bool ; 
@@ -69,8 +68,6 @@ macro_rules! impl_element {
6968        impl  Sealed  for  $ty { 
7069            #[ inline] 
7170            fn  valid<const  N :  usize >( value:  Simd <Self ,  N >)  -> bool 
72-             where 
73-                 LaneCount <N >:  SupportedLaneCount , 
7471            { 
7572                // We can't use `Simd` directly, because `Simd`'s functions call this function and 
7673                // we will end up with an infinite loop. 
@@ -124,20 +121,13 @@ impl_element! { isize, usize }
124121#[ repr( transparent) ]  
125122pub  struct  Mask < T ,  const  N :  usize > ( Simd < T ,  N > ) 
126123where 
127-     T :  MaskElement , 
128-     LaneCount < N > :  SupportedLaneCount ; 
124+     T :  MaskElement ; 
129125
130- impl < T ,  const  N :  usize >  Copy  for  Mask < T ,  N > 
131- where 
132-     T :  MaskElement , 
133-     LaneCount < N > :  SupportedLaneCount , 
134- { 
135- } 
126+ impl < T ,  const  N :  usize >  Copy  for  Mask < T ,  N >  where  T :  MaskElement  { } 
136127
137128impl < T ,  const  N :  usize >  Clone  for  Mask < T ,  N > 
138129where 
139130    T :  MaskElement , 
140-     LaneCount < N > :  SupportedLaneCount , 
141131{ 
142132    #[ inline]  
143133    fn  clone ( & self )  -> Self  { 
@@ -148,7 +138,6 @@ where
148138impl < T ,  const  N :  usize >  Mask < T ,  N > 
149139where 
150140    T :  MaskElement , 
151-     LaneCount < N > :  SupportedLaneCount , 
152141{ 
153142    /// Constructs a mask by setting all elements to the given value. 
154143#[ inline]  
@@ -315,8 +304,6 @@ where
315304        )  -> U 
316305        where 
317306            T :  MaskElement , 
318-             LaneCount < M > :  SupportedLaneCount , 
319-             LaneCount < N > :  SupportedLaneCount , 
320307        { 
321308            let  resized = mask. resize :: < M > ( false ) ; 
322309
@@ -421,7 +408,6 @@ where
421408impl < T ,  const  N :  usize >  From < [ bool ;  N ] >  for  Mask < T ,  N > 
422409where 
423410    T :  MaskElement , 
424-     LaneCount < N > :  SupportedLaneCount , 
425411{ 
426412    #[ inline]  
427413    fn  from ( array :  [ bool ;  N ] )  -> Self  { 
@@ -432,7 +418,6 @@ where
432418impl < T ,  const  N :  usize >  From < Mask < T ,  N > >  for  [ bool ;  N ] 
433419where 
434420    T :  MaskElement , 
435-     LaneCount < N > :  SupportedLaneCount , 
436421{ 
437422    #[ inline]  
438423    fn  from ( vector :  Mask < T ,  N > )  -> Self  { 
@@ -443,7 +428,6 @@ where
443428impl < T ,  const  N :  usize >  Default  for  Mask < T ,  N > 
444429where 
445430    T :  MaskElement , 
446-     LaneCount < N > :  SupportedLaneCount , 
447431{ 
448432    #[ inline]  
449433    fn  default ( )  -> Self  { 
@@ -454,7 +438,6 @@ where
454438impl < T ,  const  N :  usize >  PartialEq  for  Mask < T ,  N > 
455439where 
456440    T :  MaskElement  + PartialEq , 
457-     LaneCount < N > :  SupportedLaneCount , 
458441{ 
459442    #[ inline]  
460443    fn  eq ( & self ,  other :  & Self )  -> bool  { 
@@ -465,7 +448,6 @@ where
465448impl < T ,  const  N :  usize >  PartialOrd  for  Mask < T ,  N > 
466449where 
467450    T :  MaskElement  + PartialOrd , 
468-     LaneCount < N > :  SupportedLaneCount , 
469451{ 
470452    #[ inline]  
471453    fn  partial_cmp ( & self ,  other :  & Self )  -> Option < Ordering >  { 
@@ -476,7 +458,6 @@ where
476458impl < T ,  const  N :  usize >  fmt:: Debug  for  Mask < T ,  N > 
477459where 
478460    T :  MaskElement  + fmt:: Debug , 
479-     LaneCount < N > :  SupportedLaneCount , 
480461{ 
481462    #[ inline]  
482463    fn  fmt ( & self ,  f :  & mut  fmt:: Formatter < ' _ > )  -> fmt:: Result  { 
@@ -489,7 +470,6 @@ where
489470impl < T ,  const  N :  usize >  core:: ops:: BitAnd  for  Mask < T ,  N > 
490471where 
491472    T :  MaskElement , 
492-     LaneCount < N > :  SupportedLaneCount , 
493473{ 
494474    type  Output  = Self ; 
495475    #[ inline]  
@@ -502,7 +482,6 @@ where
502482impl < T ,  const  N :  usize >  core:: ops:: BitAnd < bool >  for  Mask < T ,  N > 
503483where 
504484    T :  MaskElement , 
505-     LaneCount < N > :  SupportedLaneCount , 
506485{ 
507486    type  Output  = Self ; 
508487    #[ inline]  
@@ -514,7 +493,6 @@ where
514493impl < T ,  const  N :  usize >  core:: ops:: BitAnd < Mask < T ,  N > >  for  bool 
515494where 
516495    T :  MaskElement , 
517-     LaneCount < N > :  SupportedLaneCount , 
518496{ 
519497    type  Output  = Mask < T ,  N > ; 
520498    #[ inline]  
@@ -526,7 +504,6 @@ where
526504impl < T ,  const  N :  usize >  core:: ops:: BitOr  for  Mask < T ,  N > 
527505where 
528506    T :  MaskElement , 
529-     LaneCount < N > :  SupportedLaneCount , 
530507{ 
531508    type  Output  = Self ; 
532509    #[ inline]  
@@ -539,7 +516,6 @@ where
539516impl < T ,  const  N :  usize >  core:: ops:: BitOr < bool >  for  Mask < T ,  N > 
540517where 
541518    T :  MaskElement , 
542-     LaneCount < N > :  SupportedLaneCount , 
543519{ 
544520    type  Output  = Self ; 
545521    #[ inline]  
@@ -551,7 +527,6 @@ where
551527impl < T ,  const  N :  usize >  core:: ops:: BitOr < Mask < T ,  N > >  for  bool 
552528where 
553529    T :  MaskElement , 
554-     LaneCount < N > :  SupportedLaneCount , 
555530{ 
556531    type  Output  = Mask < T ,  N > ; 
557532    #[ inline]  
@@ -563,7 +538,6 @@ where
563538impl < T ,  const  N :  usize >  core:: ops:: BitXor  for  Mask < T ,  N > 
564539where 
565540    T :  MaskElement , 
566-     LaneCount < N > :  SupportedLaneCount , 
567541{ 
568542    type  Output  = Self ; 
569543    #[ inline]  
@@ -576,7 +550,6 @@ where
576550impl < T ,  const  N :  usize >  core:: ops:: BitXor < bool >  for  Mask < T ,  N > 
577551where 
578552    T :  MaskElement , 
579-     LaneCount < N > :  SupportedLaneCount , 
580553{ 
581554    type  Output  = Self ; 
582555    #[ inline]  
@@ -588,7 +561,6 @@ where
588561impl < T ,  const  N :  usize >  core:: ops:: BitXor < Mask < T ,  N > >  for  bool 
589562where 
590563    T :  MaskElement , 
591-     LaneCount < N > :  SupportedLaneCount , 
592564{ 
593565    type  Output  = Mask < T ,  N > ; 
594566    #[ inline]  
@@ -600,7 +572,6 @@ where
600572impl < T ,  const  N :  usize >  core:: ops:: Not  for  Mask < T ,  N > 
601573where 
602574    T :  MaskElement , 
603-     LaneCount < N > :  SupportedLaneCount , 
604575{ 
605576    type  Output  = Mask < T ,  N > ; 
606577    #[ inline]  
@@ -612,7 +583,6 @@ where
612583impl < T ,  const  N :  usize >  core:: ops:: BitAndAssign  for  Mask < T ,  N > 
613584where 
614585    T :  MaskElement , 
615-     LaneCount < N > :  SupportedLaneCount , 
616586{ 
617587    #[ inline]  
618588    fn  bitand_assign ( & mut  self ,  rhs :  Self )  { 
@@ -623,7 +593,6 @@ where
623593impl < T ,  const  N :  usize >  core:: ops:: BitAndAssign < bool >  for  Mask < T ,  N > 
624594where 
625595    T :  MaskElement , 
626-     LaneCount < N > :  SupportedLaneCount , 
627596{ 
628597    #[ inline]  
629598    fn  bitand_assign ( & mut  self ,  rhs :  bool )  { 
@@ -634,7 +603,6 @@ where
634603impl < T ,  const  N :  usize >  core:: ops:: BitOrAssign  for  Mask < T ,  N > 
635604where 
636605    T :  MaskElement , 
637-     LaneCount < N > :  SupportedLaneCount , 
638606{ 
639607    #[ inline]  
640608    fn  bitor_assign ( & mut  self ,  rhs :  Self )  { 
@@ -645,7 +613,6 @@ where
645613impl < T ,  const  N :  usize >  core:: ops:: BitOrAssign < bool >  for  Mask < T ,  N > 
646614where 
647615    T :  MaskElement , 
648-     LaneCount < N > :  SupportedLaneCount , 
649616{ 
650617    #[ inline]  
651618    fn  bitor_assign ( & mut  self ,  rhs :  bool )  { 
@@ -656,7 +623,6 @@ where
656623impl < T ,  const  N :  usize >  core:: ops:: BitXorAssign  for  Mask < T ,  N > 
657624where 
658625    T :  MaskElement , 
659-     LaneCount < N > :  SupportedLaneCount , 
660626{ 
661627    #[ inline]  
662628    fn  bitxor_assign ( & mut  self ,  rhs :  Self )  { 
@@ -667,7 +633,6 @@ where
667633impl < T ,  const  N :  usize >  core:: ops:: BitXorAssign < bool >  for  Mask < T ,  N > 
668634where 
669635    T :  MaskElement , 
670-     LaneCount < N > :  SupportedLaneCount , 
671636{ 
672637    #[ inline]  
673638    fn  bitxor_assign ( & mut  self ,  rhs :  bool )  { 
@@ -679,8 +644,6 @@ macro_rules! impl_from {
679644    {  $from: ty  => $( $to: ty) ,*  }  => { 
680645        $( 
681646        impl <const  N :  usize > From <Mask <$from,  N >> for  Mask <$to,  N >
682-         where 
683-             LaneCount <N >:  SupportedLaneCount , 
684647        { 
685648            #[ inline] 
686649            fn  from( value:  Mask <$from,  N >)  -> Self  { 
0 commit comments