pub fn inconsistent(
instance: InstanceId,
diagnostics: &dyn DiagnosticSink,
what: &'static str,
detail: Arguments<'_>,
)Expand description
instance found its own state inconsistent – in a state it cannot be in – which is a defect in
dioring, or the kernel breaking its contract, never the consumer’s input (DI-D-46). Reported to
diagnostics if it wants it (DI-D-51), then panicked on where it was found, in every build,
with detail naming what was in hand: the bookkeeping is wrong, and nothing reported afterwards
could be trusted. On a pool thread the panic aborts the process. While the thread is already
unwinding it is reported only, because a second panic would abort and lose the first; the caller
then leaves the state as it found it.