summaryrefslogtreecommitdiffstats
path: root/typing/types.ml
diff options
context:
space:
mode:
Diffstat (limited to 'typing/types.ml')
-rw-r--r--typing/types.ml10
1 files changed, 10 insertions, 0 deletions
diff --git a/typing/types.ml b/typing/types.ml
index f1ed0cf01..0b9c4350f 100644
--- a/typing/types.ml
+++ b/typing/types.ml
@@ -35,12 +35,15 @@ and type_desc =
| Tlink of type_expr
| Tsubst of type_expr
| Tvariant of row_desc
+ | Tunivar
+ | Tpoly of type_expr * type_expr list
and row_desc =
{ row_fields: (label * row_field) list;
row_more: type_expr;
row_bound: type_expr list;
row_closed: bool;
+ row_fixed: bool;
row_name: (Path.t * type_expr list) option }
and row_field =
@@ -63,6 +66,13 @@ and commutable =
| Cunknown
| Clink of commutable ref
+module TypeOps = struct
+ type t = type_expr
+ let compare t1 t2 = t1.id - t2.id
+ let hash t = t.id
+ let equal t1 t2 = t1 == t2
+end
+
(* Maps of methods and instance variables *)
module OrderedString = struct type t = string let compare = compare end