Module Dunolint.Rule

type ('predicate, 'invariant) t = [
  1. | `enforce of 'invariant
  2. | `return
    (*

    return stops the evaluation of the rule without trying to enforce any invariant.

    *)
  3. | `skip_subtree
    (*

    The construct skip_subtree is deprecated and will be removed soon. Using it will cause an error during config loading since version "1.0".

    This causes the linter to finish the linting of the current rule, however any remaining rule will be skipped, and the entire subtree will not be linted.

    *)
  4. | `cond of ('predicate Blang.t * ('predicate, 'invariant) t) list
]
val compare : ('p -> 'p -> int) -> ('i -> 'i -> int) -> ('p, 'i) t -> ('p, 'i) t -> int
val equal : ('p -> 'p -> bool) -> ('i -> 'i -> bool) -> ('p, 'i) t -> ('p, 'i) t -> bool
val eval : ('predicate, 'invariant) t -> f:('predicate -> Trilang.t) -> [ `enforce of 'invariant | `return | `skip_subtree ]
module Stable : sig ... end