@@ -42,6 +42,7 @@ type abstract_type_constr = [
4242 | `Lazy_t
4343 | `Extension_constructor
4444 | `Floatarray
45+ | `Atomic_loc
4546]
4647type data_type_constr = [
4748 | `Bool
@@ -56,7 +57,7 @@ type type_constr = [
5657 | data_type_constr
5758]
5859
59- let all_type_constrs = [
60+ let all_type_constrs : type_constr list = [
6061 `Int ;
6162 `Char ;
6263 `String ;
@@ -76,6 +77,7 @@ let all_type_constrs = [
7677 `Lazy_t ;
7778 `Extension_constructor ;
7879 `Floatarray ;
80+ `Atomic_loc ;
7981]
8082
8183let ident_int = ident_create " int"
@@ -97,8 +99,9 @@ and ident_lazy_t = ident_create "lazy_t"
9799and ident_string = ident_create " string"
98100and ident_extension_constructor = ident_create " extension_constructor"
99101and ident_floatarray = ident_create " floatarray"
102+ and ident_atomic_loc = ident_create " atomic_loc"
100103
101- let ident_of_type_constr = function
104+ let ident_of_type_constr : type_constr -> Ident.t = function
102105 | `Int -> ident_int
103106 | `Char -> ident_char
104107 | `String -> ident_string
@@ -118,6 +121,7 @@ let ident_of_type_constr = function
118121 | `Lazy_t -> ident_lazy_t
119122 | `Extension_constructor -> ident_extension_constructor
120123 | `Floatarray -> ident_floatarray
124+ | `Atomic_loc -> ident_atomic_loc
121125
122126let path_int = Pident ident_int
123127and path_char = Pident ident_char
@@ -138,6 +142,7 @@ and path_lazy_t = Pident ident_lazy_t
138142and path_string = Pident ident_string
139143and path_extension_constructor = Pident ident_extension_constructor
140144and path_floatarray = Pident ident_floatarray
145+ and path_atomic_loc = Pident ident_atomic_loc
141146
142147let path_of_type_constr typ =
143148 Pident (ident_of_type_constr typ)
@@ -162,6 +167,7 @@ and type_lazy_t t = tconstr path_lazy_t [t]
162167and type_string = tconstr path_string []
163168and type_extension_constructor = tconstr path_extension_constructor []
164169and type_floatarray = tconstr path_floatarray []
170+ and type_atomic_loc t = tconstr path_atomic_loc [t]
165171
166172let find_type_constr =
167173 let all_predef_paths =
@@ -300,7 +306,9 @@ let decl_of_type_constr tconstr =
300306 | `Continuation ->
301307 let variance = Variance. (contravariant, covariant) in
302308 decl2 ~variance ()
303- | `Array ->
309+ | `Array
310+ | `Atomic_loc
311+ ->
304312 decl1 ~variance: Variance. full ()
305313 | `List ->
306314 let kind tvar =
0 commit comments