Quoting: Syntax of pest parsers - A thoughtful introduction to the pest parser
Silent rules are just like normal rules — when run, they function the same way — except they do not produce pairs or tokens. If a rule is silent, it will never appear in a parse result.
To make a silent rule, precede the left curly bracket { with a low line (underscore) _.
silent = _{ ... }
Now, this does not make sense with regard to actual examples. For example: https://github.com/pest-parser/book/blob/master/examples/json-parser/src/json.pest#L3
shows
value = _{ object | array | string | number | boolean | null }
yet we definitely match on it later on:
https://github.com/pest-parser/book/blob/master/examples/json-parser/src/main.rs#L51-L70
So what's going on here?
What exactly does 'silent', in the context of _{ ... }, mean ?