pub fn cli_invocation_invalid_event(detail: &str) -> EventExpand description
The standard event for a program that misread its own resolved invocation.
Dispatch itself cannot fail —
crate::cli_spec::BoundCliSpec::resolve_from binds the handler while
resolving, so there is no undispatchable invocation to report. What remains
is a handler reading an argument the selected combination does not supply:
an id it does not declare, or one whose type does not match the accessor.
crate::cli_spec::BoundCliSpec::call_every_combination catches the first
from a test; this is for a program that also wants to say something at
runtime.
It is a defect in the program, never in what the user typed, and the code
and exit status have to say so. Reporting it as a usage error tells the
caller to fix their command line and retry, and retrying cannot help — a
mistake that has already been made in the wild, as
cli_invalid_argument_value at exit 2. Emit this and exit 1; the
application still owns the exit.