summaryrefslogtreecommitdiff
path: root/bytecomp/typeopt.ml
diff options
context:
space:
mode:
Diffstat (limited to 'bytecomp/typeopt.ml')
-rw-r--r--bytecomp/typeopt.ml3
1 files changed, 2 insertions, 1 deletions
diff --git a/bytecomp/typeopt.ml b/bytecomp/typeopt.ml
index c931519ee4..8838145468 100644
--- a/bytecomp/typeopt.ml
+++ b/bytecomp/typeopt.ml
@@ -87,7 +87,8 @@ let array_element_kind env ty =
let array_kind_gen ty env =
let array_ty = Ctype.expand_head env (Ctype.correct_levels ty) in
match (Ctype.repr array_ty).desc with
- Tconstr(p, [elt_ty], _) when Path.same p Predef.path_array ->
+ Tconstr(p, [elt_ty], _) | Tpoly({desc = Tconstr(p, [elt_ty], _)}, _)
+ when Path.same p Predef.path_array ->
array_element_kind env elt_ty
| _ ->
(* This can happen with e.g. Obj.field *)