use std::fmt::Debug;
use num_traits::int::PrimInt;
pub trait IndexType: PrimInt + Debug {}
impl<T> IndexType for T where T: PrimInt + Debug {}
#[cfg(test)]
mod tests {
use super::*;
fn assert_index_type<T: IndexType>() {}
#[test]
fn test_primitive_types_are_index_types() {
assert_index_type::<u8>();
assert_index_type::<u16>();
assert_index_type::<u32>();
assert_index_type::<u64>();
assert_index_type::<usize>();
assert_index_type::<i8>();
assert_index_type::<i16>();
assert_index_type::<i32>();
assert_index_type::<i64>();
assert_index_type::<isize>();
}
}