150150(* * The output signature of the functors {!K1.MakeSeeded} and {!K2.MakeSeeded}.
151151*)
152152
153- module K1 : sig
153+ module K1 : sig @@ portable
154154 type ('k,'d) t (** an ephemeron with one key *)
155155
156156 val make : 'k -> 'd -> ('k ,'d) t
@@ -161,19 +161,19 @@ module K1 : sig
161161 ephemeron's data) if [key] is physically equal to [eph]'s key, and
162162 [None] if [eph] is empty or [key] is not equal to [eph]'s key. *)
163163
164- module Make (H :Hashtbl.HashedType ) : S with type key = H. t
164+ module ( Make @ nonportable) (H :Hashtbl.HashedType ) : S with type key = H. t
165165 (* * Functor building an implementation of a weak hash table *)
166166
167167 module MakePortable (H :sig @@ portable include Hashtbl.HashedType end )
168168 : sig @@ portable include S with type key = H. t end
169169 (* * Like {!Make}, but takes a portable [hash] function to
170170 portable [Ephemeron] operations. *)
171171
172- module MakeSeeded (H :Hashtbl.SeededHashedType ) : SeededS with type key = H. t
172+ module ( MakeSeeded @ nonportable) (H :Hashtbl.SeededHashedType ) : SeededS with type key = H. t
173173 (* * Functor building an implementation of a weak hash table.
174174 The seed is similar to the one of {!Hashtbl.MakeSeeded}. *)
175175
176- module MakeSeededPortable (H :sig @@ portable include Hashtbl.SeededHashedType end )
176+ module ( MakeSeededPortable @ nonportable) (H :sig @@ portable include Hashtbl.SeededHashedType end )
177177 : sig @@ portable include SeededS with type key = H. t end
178178 (* * Like {!MakeSeeded}, but takes a portable [seeded_hash] function to
179179 portable [Ephemeron] operations. *)
@@ -206,10 +206,10 @@ module K1 : sig
206206
207207 end
208208
209- end
209+ end @@ nonportable
210210(* * Ephemerons with one key. *)
211211
212- module K2 : sig
212+ module K2 : sig @@ portable
213213 type ('k1,'k2,'d) t (** an ephemeron with two keys *)
214214
215215 val make : 'k1 -> 'k2 -> 'd -> ('k1 ,'k2,'d) t
@@ -218,7 +218,7 @@ module K2 : sig
218218 val query : ('k1 ,'k2,'d) t -> 'k1 -> 'k2 -> 'd option
219219 (* * Same as {!Ephemeron.K1.query} *)
220220
221- module Make
221+ module ( Make @ nonportable)
222222 (H1 :Hashtbl.HashedType )
223223 (H2 :Hashtbl.HashedType ) :
224224 S with type key = H1. t * H2. t
@@ -231,14 +231,14 @@ module K2 : sig
231231 (* * Like {!Make}, but takes portable [hash] functions to
232232 portable [Ephemeron] operations. *)
233233
234- module MakeSeeded
234+ module ( MakeSeeded @ nonportable)
235235 (H1 :Hashtbl.SeededHashedType )
236236 (H2 :Hashtbl.SeededHashedType ) :
237237 SeededS with type key = H1. t * H2. t
238238 (* * Functor building an implementation of a weak hash table.
239239 The seed is similar to the one of {!Hashtbl.MakeSeeded}. *)
240240
241- module MakeSeededPortable
241+ module ( MakeSeededPortable @ nonportable)
242242 (H1 :sig @@ portable include Hashtbl.SeededHashedType end )
243243 (H2 :sig @@ portable include Hashtbl.SeededHashedType end ) :
244244 sig @@ portable include SeededS with type key = H1. t * H2. t end
@@ -273,10 +273,10 @@ module K2 : sig
273273
274274 end
275275
276- end
276+ end @@ nonportable
277277(* * Ephemerons with two keys. *)
278278
279- module Kn : sig
279+ module Kn : sig @@ portable
280280 type ('k,'d) t (** an ephemeron with an arbitrary number of keys
281281 of the same type *)
282282
@@ -286,7 +286,7 @@ module Kn : sig
286286 val query : ('k ,'d) t -> 'k array -> 'd option
287287 (* * Same as {!Ephemeron.K1.query} *)
288288
289- module Make
289+ module ( Make @ nonportable)
290290 (H :Hashtbl.HashedType ) :
291291 S with type key = H. t array
292292 (* * Functor building an implementation of a weak hash table *)
@@ -297,13 +297,13 @@ module Kn : sig
297297 (* * Like {!Make}, but takes a portable [hash] function to
298298 portable [Ephemeron] operations. *)
299299
300- module MakeSeeded
300+ module ( MakeSeeded @ nonportable)
301301 (H :Hashtbl.SeededHashedType ) :
302302 SeededS with type key = H. t array
303303 (* * Functor building an implementation of a weak hash table.
304304 The seed is similar to the one of {!Hashtbl.MakeSeeded}. *)
305305
306- module MakeSeededPortable
306+ module ( MakeSeededPortable @ nonportable)
307307 (H :sig @@ portable include Hashtbl.SeededHashedType end ) :
308308 sig @@ portable include SeededS with type key = H. t array end
309309 (* * Like {!MakeSeeded}, but takes a portable [seeded_hash] function to
@@ -337,5 +337,5 @@ module Kn : sig
337337
338338 end
339339
340- end
340+ end @@ nonportable
341341(* * Ephemerons with arbitrary number of keys of the same type. *)
0 commit comments