Documentation

Miri.Interpreter.Discriminant

Pinned interpret/discriminant.rs pipelines. Field access, compiler queries and CTFE pointer-nullability remain explicit effectful dependencies.

structure Miri.Interpreter.DiscriminantHooks (Prov S C V : Type) :
Instances For
    def Miri.Interpreter.Discriminant.discriminantForVariant {P S C V : Type} (h : DiscriminantHooks P S C V) (choice : C) (ty : MIR.TyId) (variant : Nat) :

    User-visible discriminants differ from both tag bits and declaration indices. Types without compiler discriminants have only discriminant/index zero.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Source tag_for_variant: uninhabited variants fail before all tag queries.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Read the discriminant without assuming that an enum's wrapping range is a complete set of declared tags. Pointer niches retain the CTFE nullability hook.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Miri.Interpreter.Discriminant.writeDiscriminant {P S C V : Type} [Memory.PointerProvenance P] (h : DiscriminantHooks P S C V) (choice : C) (variant : Nat) (dest : V) :
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For