module Diagnosis: sig
.. end
type ('a, 'b)
reason =
| |
Not_available of 'a |
| |
Requested of 'a |
| |
Dependency of 'a * 'a list |
| |
Empty_disjunction of 'a * 'b list |
| |
Conflict of 'a * 'a |
type ('a, 'b, 'c)
diagnosis = {
|
dg_closure_size : int ; |
|
dg_conflicts : int ; |
|
dg_disjunctions : int ; |
|
dg_dependencies : int ; |
|
dg_failures : ('a * ('b, 'c) reason list) array ; |
}
val empty_diagnosis : ('a, 'b, 'c) diagnosis
val io_reason : 'a Io.literate -> 'b Io.literate -> ('a, 'b) reason Io.literate
val io_diagnosis : 'a Io.literate ->
'b Io.literate ->
'c Io.literate -> ('a, 'b, 'c) diagnosis Io.literate