overflower 0.4.6

A compiler plugin to easily select overflow behavior for all integer operations of an item
#![feature(plugin)]
#![plugin(overflower)]

extern crate overflower_support;

#[test]
#[overflow(wrap)]
fn test_simple_wrap() {
    255u8 + 1;
}

#[test]
#[overflow(wrap)]
fn test_double_wrap() {
    1u8 - 2 + 2;
}

#[test]
#[overflow(panic)]
#[should_panic]
fn test_simple_panic_sub() {
    1u8 - 2;
}

#[test]
#[overflow(panic)]
#[should_panic]
fn test_simple_panic_add() {
    255u8 + 1;
}

#[test]
#[overflow(wrap)]
fn test_simple_wrap_abs() {
    i8::abs(-128 as i8);
}

#[test]
#[overflow(wrap)]
#[allow(unused)]
fn test_simple_wrap_assign_ops() {
    let mut x = 1u8;
    x += 1;
    x -= 1;
    x *= 2;
    x /= 2;
    x <<= 1;
    x >>= 1;
    x &= 1;
    x |= 2;
}