Module Diagnostics.Component
Information about a single role in the example (failed) selections produced by the solver.
type ttype rejection_reason=[|`Model_rejection of Result.Input.rejectionRejected before getting to solver.
|`FailsRestriction of Result.Input.restrictione.g. version too old for another component.
|`DepFailsRestriction of Result.Input.dependency * Result.Input.restrictionCouldn't satisfy its dependencies.
|`MachineGroupConflict of Result.Role.t * Result.Input.implA selected impl has a different machine type.
|`ClassConflict of Result.Role.t * Result.Input.conflict_classA selected impl has the same conflict class.
|`ConflictsRole of Result.Role.tA selected role conflicts with this (e.g. replaced-by).
|`MissingCommand of Result.Input.command_nameDoesn't have a command we need.
|`DiagnosticsFailure of stringUnknown failure reason (gives raw error from SAT solver).
]Why a particular implementation was rejected. This could be because the input rejected it before it got to the solver, or because it conflicts with something else in the example (partial) solution.
type reject= Result.Input.impl * rejection_reason
val pp_reject : Stdlib.Format.formatter -> reject -> unitval selected_impl : t -> Result.Input.impl optionselected_impl tis the implementation selected to fillt's role, orNoneif no implementation was suitable.
val rejects : t -> reject list * [ `All_unusable | `No_candidates | `Conflicts ]rejects treturns the rejected candidates (call this ifselected_impl t = None).`No_candidatesmeans that there were no implementations given at all (e.g. bad role name).`All_unusablemeans every candidate was rejected before reaching the solver (e.g. they were all binaries for some other platform).`Conflictsis the normal case, where some made it to the solver, but were rejected because they conflicted with other selections.
val pp : verbose:bool -> Stdlib.Format.formatter -> t -> unitpp ~verboseformats a message showing the status of this component, including all of its notes and, if there was no selected impl, the rejects.- parameter verbose
If
false, limit the list of rejected candidates (if any) to five entries.