Syscall_result.Make
include Ppx_compare_lib.Comparable.S with type t := t
val sexp_of_t : t -> Sexplib0.Sexp.t
include Core.Equal.S with type t := t
val equal : t Base.Equal.equal
val create_error : UnixLabels.error -> t
val is_ok : t -> bool
val is_error : t -> bool
val to_result : t -> (M.t, UnixLabels.error) Core.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 error_exn : t -> UnixLabels.error
This is more efficient than calling error_exn
and then the create_error
of the destination type.
val ok_or_unix_error_with_args_exn :
t ->
syscall_name:string ->
'a ->
('a -> Core.Sexp.t) ->
M.t
module Optional_syntax :
Core.Optional_syntax.S with type t := t and type value := M.t