e595e747d43d92d63198d6a521cfb9da5d0f413b
Introduces a `TypeChecker` struct with logic for Hindley-Milner type inference. This includes: - `var_counter` for generating unique type variable IDs. - `subst` for the global substitution map. - `fresh_var` to create new type variables. - `apply_subst` to resolve type variables recursively. - `occurs` to check for cycles during unification. - `unify` to merge types and extend the substitution. The `StaticType` enum is extended with a `TypeVar(u32)` variant to represent unresolved type variables. The `Display` and `is_assignable_from` implementations for `StaticType` are updated to handle `TypeVar`.
Description
No description provided
Languages
Rust
100%