[][src]Macro totems::assert_9th

macro_rules! assert_9th {
    ($tuple:expr, value == $val:expr) => { ... };
    ($tuple:expr, value != $val:expr) => { ... };
    ($tuple:expr, value < $val:expr) => { ... };
    ($tuple:expr, value <= $val:expr) => { ... };
    ($tuple:expr, value > $val:expr) => { ... };
    ($tuple:expr, value >= $val:expr) => { ... };
}

Asserts that the 9th item in a tuple has a relationship to some value.

Parameters

  • &tuple A reference to a tuple.
  • &val A reference to a value to compare to the 9th item.

Dependencies

  • All content must implement Debug
  • val must implement PartialEq for the 9th type in the tuple to use == or !=.
  • val must implement PartialOrd for the 9th type in the tuple to use <, <=, >, >=.

Example

use totems::assert_9th;
let tuple = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, "Hello");
let x = 10;
assert_9th!(&tuple, value == &x); // tuple.9 == x
assert_9th!(&tuple, value <= &x);
assert_9th!(&tuple, value >= &x);
assert_9th!(&tuple, value < &(x + 1));
assert_9th!(&tuple, value > &(x - 1));

Example Error Messages

thread 'tuples::_09th::le_correct' panicked at 'assertion failed: (tuple.9 <= val)
    val: 0
tuple.9: 1
', src/tuples.rs:2162:9