Module Labels

Attached to unit

Attached to nothing

module A : sig ... end
type t

Attached to type

val f : t

Attached to value

val e : unit -> t

Attached to external

module type S = sig ... end
class c : object ... end
class type cs = object ... end
exception E

Attached to exception

type x = ..
type x +=
  1. | X

Attached to extension

module S := A

Attached to module subst

type s := t

Attached to type subst

type u =
  1. | A'
    (*

    Attached to constructor

    *)
type v = {
  1. f : t;
    (*

    Attached to field

    *)
}

Testing that labels can be referenced