The size of Int63 is always at least 63 bits. On a 64-bit platform it is just an int (63-bits), and on a 32-bit platform it is an int64.
Because Int63 has different sizes on 32-bit and 64-bit platforms, there are several pitfalls to be aware of:
Int_intf.Swith type t = int
private intso that the compiler can omit caml_modify when dealing with record fields holding
Int63.t. Code should not explicitly make use of the
private, e.g. via
(i :> int), since such code will not compile on 32-bit platforms.
val of_int :
int -> t
val to_int :
t -> int option