JsonLexer._errorToken

private JsonToken _errorToken(size_t start) @safe

Builds an ERROR token spanning start to the current position.

Guarantees progress: if no byte has been consumed since start (e.g. a keyword mismatch detected before advancing), one byte is consumed here so a while (tok.kind != END) loop over the public lexer API can never spin forever on the same ERROR (N038).