package core

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Parameters

module M : Arg

Signature

type t = M.t t
val compare : t -> t -> int
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
include Core_kernel.Equal.S with type t := t
val equal : t Base.Equal.equal
val create_ok : M.t -> t
val create_error : Unix.error -> t
val is_ok : t -> bool
val is_error : t -> bool
val to_result : t -> (M.t, Unix.error) Core_kernel.Result.t

This returns a preallocated object for all errors and at least a few ok_values, so can be used in many contexts where avoiding allocation is important.

val ok_exn : t -> M.t
val error_exn : t -> Unix.error
val reinterpret_error_exn : t -> _ t

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 -> M.t
val ok_or_unix_error_with_args_exn : t -> syscall_name:string -> 'a -> ('a -> Core_kernel.Sexp.t) -> M.t
module Optional_syntax : Core_kernel.Optional_syntax.S with type t := t and type value := M.t