module Unit: S
with type ok_value := unit
type
ok_value
type 'a
syscall_result
type
t = ok_value syscall_result
val create_ok : ok_value -> t
val create_error : Unix_error.t -> t
val is_ok : t -> bool
val is_error : t -> bool
val to_result : t ->
(ok_value, Unix_error.t) Core_kernel.Std.Result.t
This returns a preallocated object for all errors and at least a few ok_value
s, so
can be used in many contexts where avoiding allocation is important.
val ok_exn : t -> ok_value
val error_exn : t -> Unix_error.t
val reinterpret_error_exn : t -> 'a syscall_result
This is more efficient than calling error_exn
and then the create_error
of the
destination type.
val ok_or_unix_error_exn : t ->
syscall_name:string -> ok_value
val ok_or_unix_error_with_args_exn : t ->
syscall_name:string ->
'a -> ('a -> Core_kernel.Std.Sexp.t) -> ok_value
val sexp_of_t : t -> Sexplib.Sexp.t
val compare : t -> t -> int
This returns a preallocated object for all errors and at least a few ok_value
s, so
can be used in many contexts where avoiding allocation is important.
This is more efficient than calling error_exn
and then the create_error
of the
destination type.