pub fn wrap_incr(self) -> Self {
        macro_rules! add1 {
            ($e:expr) => { ($e).wrapping_add(1) }
        }
        match self {
            ConstInt::I8(i) => ConstInt::I8(add1!(i)),
            ConstInt::I16(i) => ConstInt::I16(add1!(i)),
            ConstInt::I32(i) => ConstInt::I32(add1!(i)),
            ConstInt::I64(i) => ConstInt::I64(add1!(i)),
            ConstInt::Isize(ConstIsize::Is16(i)) => ConstInt::Isize(ConstIsize::Is16(add1!(i))),
            ConstInt::Isize(ConstIsize::Is32(i)) => ConstInt::Isize(ConstIsize::Is32(add1!(i))),
            ConstInt::Isize(ConstIsize::Is64(i)) => ConstInt::Isize(ConstIsize::Is64(add1!(i))),
            ConstInt::U8(i) => ConstInt::U8(add1!(i)),
            ConstInt::U16(i) => ConstInt::U16(add1!(i)),
            ConstInt::U32(i) => ConstInt::U32(add1!(i)),
            ConstInt::U64(i) => ConstInt::U64(add1!(i)),
            ConstInt::Usize(ConstUsize::Us16(i)) => ConstInt::Usize(ConstUsize::Us16(add1!(i))),
            ConstInt::Usize(ConstUsize::Us32(i)) => ConstInt::Usize(ConstUsize::Us32(add1!(i))),
            ConstInt::Usize(ConstUsize::Us64(i)) => ConstInt::Usize(ConstUsize::Us64(add1!(i))),
            ConstInt::Infer(_) | ConstInt::InferSigned(_) => panic!("no type info for const int"),
        }
    }
/// Adds 1 to the value and wraps around if the maximum for the type is reached
Adds 1 to the value and wraps around if the maximum for the type is reached
Adds 1 to the value and wraps around if the maximum for the type is reached
pub fn wrap_incr(self) -> Self {
        macro_rules! add1 {
            ($e:expr) => { ($e).wrapping_add(1) }
        }
        match self {
            ConstInt::I8(i) => ConstInt::I8(add1!(i)),
            ConstInt::I16(i) => ConstInt::I16(add1!(i)),
            ConstInt::I32(i) => ConstInt::I32(add1!(i)),
            ConstInt::I64(i) => ConstInt::I64(add1!(i)),
            ConstInt::Isize(ConstIsize::Is16(i)) => ConstInt::Isize(ConstIsize::Is16(add1!(i))),
            ConstInt::Isize(ConstIsize::Is32(i)) => ConstInt::Isize(ConstIsize::Is32(add1!(i))),
            ConstInt::Isize(ConstIsize::Is64(i)) => ConstInt::Isize(ConstIsize::Is64(add1!(i))),
            ConstInt::U8(i) => ConstInt::U8(add1!(i)),
            ConstInt::U16(i) => ConstInt::U16(add1!(i)),
            ConstInt::U32(i) => ConstInt::U32(add1!(i)),
            ConstInt::U64(i) => ConstInt::U64(add1!(i)),
            ConstInt::Usize(ConstUsize::Us16(i)) => ConstInt::Usize(ConstUsize::Us16(add1!(i))),
            ConstInt::Usize(ConstUsize::Us32(i)) => ConstInt::Usize(ConstUsize::Us32(add1!(i))),
            ConstInt::Usize(ConstUsize::Us64(i)) => ConstInt::Usize(ConstUsize::Us64(add1!(i))),
            ConstInt::Infer(_) | ConstInt::InferSigned(_) => panic!("no type info for const int"),
        }
    }
pub fn wrap_incr ( self ) -> Self { macro_rules! add1 { ( $e : expr ) => { ( $e ) wrapping_add ( 1 ) } } match self { ConstInt :: I8 ( i ) => ConstInt :: I8 ( add1 ! ( i ) ) , ConstInt :: I16 ( i ) => ConstInt :: I16 ( add1 ! ( i ) ) , ConstInt :: I32 ( i ) => ConstInt :: I32 ( add1 ! ( i ) ) , ConstInt :: I64 ( i ) => ConstInt :: I64 ( add1 ! ( i ) ) , ConstInt :: Isize ( ConstIsize :: Is16 ( i ) ) => ConstInt :: Isize ( ConstIsize :: Is16 ( add1 ! ( i ) ) ) , ConstInt :: Isize ( ConstIsize :: Is32 ( i ) ) => ConstInt :: Isize ( ConstIsize :: Is32 ( add1 ! ( i ) ) ) , ConstInt :: Isize ( ConstIsize :: Is64 ( i ) ) => ConstInt :: Isize ( ConstIsize :: Is64 ( add1 ! ( i ) ) ) , ConstInt :: U8 ( i ) => ConstInt :: U8 ( add1 ! ( i ) ) , ConstInt :: U16 ( i ) => ConstInt :: U16 ( add1 ! ( i ) ) , ConstInt :: U32 ( i ) => ConstInt :: U32 ( add1 ! ( i ) ) , ConstInt :: U64 ( i ) => ConstInt :: U64 ( add1 ! ( i ) ) , ConstInt :: Usize ( ConstUsize :: Us16 ( i ) ) => ConstInt :: Usize ( ConstUsize :: Us16 ( add1 ! ( i ) ) ) , ConstInt :: Usize ( ConstUsize :: Us32 ( i ) ) => ConstInt :: Usize ( ConstUsize :: Us32 ( add1 ! ( i ) ) ) , ConstInt :: Usize ( ConstUsize :: Us64 ( i ) ) => ConstInt :: Usize ( ConstUsize :: Us64 ( add1 ! ( i ) ) ) , ConstInt :: Infer ( _ ) | ConstInt :: InferSigned ( _ ) => panic ! ( " " ) , } }
Adds 1 to the value and wraps around if the maximum for the type is reached
Adds 1 to the value and wraps around if the maximum for the type is reached
self
self