@@ -144,6 +144,7 @@ impl const Not for ! {
144144 message = "no implementation for `{Self} & {Rhs}`" ,
145145 label = "no implementation for `{Self} & {Rhs}`"
146146) ]
147+ #[ const_trait]
147148pub trait BitAnd < Rhs = Self > {
148149 /// The resulting type after applying the `&` operator.
149150 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
@@ -245,6 +246,7 @@ bitand_impl! { bool usize u8 u16 u32 u64 u128 isize i8 i16 i32 i64 i128 }
245246 message = "no implementation for `{Self} | {Rhs}`" ,
246247 label = "no implementation for `{Self} | {Rhs}`"
247248) ]
249+ #[ const_trait]
248250pub trait BitOr < Rhs = Self > {
249251 /// The resulting type after applying the `|` operator.
250252 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
@@ -346,6 +348,7 @@ bitor_impl! { bool usize u8 u16 u32 u64 u128 isize i8 i16 i32 i64 i128 }
346348 message = "no implementation for `{Self} ^ {Rhs}`" ,
347349 label = "no implementation for `{Self} ^ {Rhs}`"
348350) ]
351+ #[ const_trait]
349352pub trait BitXor < Rhs = Self > {
350353 /// The resulting type after applying the `^` operator.
351354 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
@@ -446,6 +449,7 @@ bitxor_impl! { bool usize u8 u16 u32 u64 u128 isize i8 i16 i32 i64 i128 }
446449 message = "no implementation for `{Self} << {Rhs}`" ,
447450 label = "no implementation for `{Self} << {Rhs}`"
448451) ]
452+ #[ const_trait]
449453pub trait Shl < Rhs = Self > {
450454 /// The resulting type after applying the `<<` operator.
451455 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
@@ -565,6 +569,7 @@ shl_impl_all! { u8 u16 u32 u64 u128 usize i8 i16 i32 i64 isize i128 }
565569 message = "no implementation for `{Self} >> {Rhs}`" ,
566570 label = "no implementation for `{Self} >> {Rhs}`"
567571) ]
572+ #[ const_trait]
568573pub trait Shr < Rhs = Self > {
569574 /// The resulting type after applying the `>>` operator.
570575 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
@@ -693,6 +698,7 @@ shr_impl_all! { u8 u16 u32 u64 u128 usize i8 i16 i32 i64 i128 isize }
693698 message = "no implementation for `{Self} &= {Rhs}`" ,
694699 label = "no implementation for `{Self} &= {Rhs}`"
695700) ]
701+ #[ const_trait]
696702pub trait BitAndAssign < Rhs = Self > {
697703 /// Performs the `&=` operation.
698704 ///
@@ -765,6 +771,7 @@ bitand_assign_impl! { bool usize u8 u16 u32 u64 u128 isize i8 i16 i32 i64 i128 }
765771 message = "no implementation for `{Self} |= {Rhs}`" ,
766772 label = "no implementation for `{Self} |= {Rhs}`"
767773) ]
774+ #[ const_trait]
768775pub trait BitOrAssign < Rhs = Self > {
769776 /// Performs the `|=` operation.
770777 ///
@@ -837,6 +844,7 @@ bitor_assign_impl! { bool usize u8 u16 u32 u64 u128 isize i8 i16 i32 i64 i128 }
837844 message = "no implementation for `{Self} ^= {Rhs}`" ,
838845 label = "no implementation for `{Self} ^= {Rhs}`"
839846) ]
847+ #[ const_trait]
840848pub trait BitXorAssign < Rhs = Self > {
841849 /// Performs the `^=` operation.
842850 ///
0 commit comments