Module Printtyp.Conflicts

The Conflicts module keeps track of conflicts arising when attributing names to identifiers and provides functions that can print explanations for these conflict in error messages

let exists: unit => bool;

exists() returns true if the current naming context renamed an identifier to avoid a name collision

type explanation = {
  1. kind: Shape.Sig_component_kind.t,
  2. name: string,
  3. root_name: string,
  4. location: Location.t,
};
let list_explanations: unit => list(explanation);

list_explanations() return the list of conflict explanations collected up to this point, and reset the list of collected explanations

let print_located_explanations: Stdlib.Format.formatter => list(explanation) => unit;
let print_explanations: Stdlib.Format.formatter => unit;

Print all conflict explanations collected up to this point

let reset: unit => unit;