diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/boot/me/type.ml | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/boot/me/type.ml b/src/boot/me/type.ml index 9b09bf79..f8566d87 100644 --- a/src/boot/me/type.ml +++ b/src/boot/me/type.ml @@ -432,6 +432,14 @@ let process_crate (cx:ctxt) (crate:Ast.crate) : unit = TYSPEC_exterior b') -> unify_tyvars ucx a b'; !a + | (_, TYSPEC_resolved (params, Ast.TY_exterior ty)) + when ucx.ext_ok -> + unify_ty_parametric ucx ty params a; !b + + | (TYSPEC_resolved (params, Ast.TY_exterior ty), _) + when ucx.ext_ok -> + unify_ty_parametric ucx ty params b; !a + | (TYSPEC_exterior a', _) when ucx.ext_ok -> unify_tyvars ucx a' b; !a | (_, TYSPEC_exterior b') when ucx.ext_ok @@ -453,6 +461,14 @@ let process_crate (cx:ctxt) (crate:Ast.crate) : unit = TYSPEC_mutable b') -> unify_tyvars ucx a b'; !a + | (_, TYSPEC_resolved (params, Ast.TY_mutable ty)) + when ucx.mut_ok -> + unify_ty_parametric ucx ty params a; !b + + | (TYSPEC_resolved (params, Ast.TY_mutable ty), _) + when ucx.mut_ok -> + unify_ty_parametric ucx ty params b; !a + | (TYSPEC_mutable a', _) when ucx.mut_ok -> unify_tyvars ucx a' b; !a | (_, TYSPEC_mutable b') when ucx.mut_ok |