Helper function to extract N sub-pairs when the layout of a rule is fixed.
(pair: Pair<'_, Rule>, expected_rules: [Rule; N])
| 23 | |
| 24 | /// Helper function to extract N sub-pairs when the layout of a rule is fixed. |
| 25 | fn extract<const N: usize>(pair: Pair<'_, Rule>, expected_rules: [Rule; N]) -> [Pair<'_, Rule>; N] { |
| 26 | let mut out = [(); N].map(|()| pair.clone()); |
| 27 | let mut i = 0; |
| 28 | for pair in pair.into_inner() { |
| 29 | assert_eq!(pair.as_rule(), expected_rules[i]); |
| 30 | out[i] = pair; |
| 31 | i += 1; |
| 32 | } |
| 33 | assert_eq!(i, N); |
| 34 | out |
| 35 | } |
| 36 | |
| 37 | /// Helper function to emit a custom error at the given span. |
| 38 | fn custom_error(span: Span<'_>, msg: &str) -> Error<Rule> { |
no test coverage detected