/// parser_monomorphs.rs /// /// Simple tests to make sure that all of the appropriate monomorphs are /// instantiated use super::*; #[test] fn test_struct_monomorphs() { Tester::new_single_source_expect_ok( "no polymorph", "struct Integer{ int field }" ).for_struct("Integer", |s| { s .assert_num_monomorphs(0); }); Tester::new_single_source_expect_ok( "single polymorph", " struct Number{ T number } int instantiator() { auto a = Number{ number: 0 }; auto b = Number{ number: 1 }; auto c = Number{ number: 2 }; auto d = Number{ number: 3 }; auto e = Number>{ number: Number{ number: 4 }}; return 0; } " ).for_struct("Number", |s| { s .assert_has_monomorph("byte") .assert_has_monomorph("short") .assert_has_monomorph("int") .assert_has_monomorph("long") .assert_has_monomorph("Number") .assert_num_monomorphs(5); }); }