id_sys 0.1.0

Provides data structures which can be marked such that they only work with similarly marked integer data types.
Documentation
use crate::{
    isize_id as id,
    tests::util::{extends::MTestBase, MTest},
    IsizeId,
};

#[test]
fn downcast_to_test() {
    let isize_id = id!(MTestBase; 1);

    let actual: IsizeId<MTest> = isize_id.downcast_to();
    let expected = id!(1);
    assert_eq!(actual, expected);
}

#[test]
fn upcast_to_test() {
    let isize_id = id!(MTest; 1);

    let actual: IsizeId<MTestBase> = isize_id.upcast_to();
    let expected = id!(1);
    assert_eq!(actual, expected);
}