By default, the only error that can be returned is QuoteError::Nul. If you call
allow_nul(true), then no errors can be returned at all. Any error variants added in the
future will not be enabled by default; they will be enabled through corresponding non-default
Quoter options.
…In theory. In the unlikely event that additional classes of inputs are discovered that,
like nul bytes, are fundamentally unsafe to quote even for non-interactive shells, the risk
will be mitigated by adding corresponding QuoteError variants that are enabled by
default.
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
The input contained a nul byte. In most cases, shells fundamentally cannot handle strings
containing nul bytes, no matter how they are quoted. But if
you’re sure you can handle nul bytes, you can call allow_nul(true) on the Quoter to let
them pass through.