()
| 710 | let ty = tc.infer(&n).unwrap(); |
| 711 | // Nat literal type = Nat constant |
| 712 | assert!( |
| 713 | matches!(ty.data(), ExprData::Const(id, _, _) if id.addr == tc.prims.nat.addr) |
| 714 | ); |
| 715 | } |
| 716 | |
| 717 | #[test] |
| 718 | fn infer_cache() { |
| 719 | let mut env = test_env(); |
| 720 | let mut tc = TypeChecker::new(&mut env); |
| 721 | let e = sort0(); |
| 722 | let t1 = tc.infer(&e).unwrap(); |
| 723 | let t2 = tc.infer(&e).unwrap(); |
| 724 | assert_eq!(t1, t2); |
| 725 | } |