aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/boot/me/type.ml16
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