Generate range assertion with error collection
(value_expr: &TokenStream, pattern: &PatternRange)
| 480 | |
| 481 | /// Generate range assertion with error collection |
| 482 | fn expand_range_assertion(value_expr: &TokenStream, pattern: &PatternRange) -> TokenStream { |
| 483 | let range = &pattern.expr; |
| 484 | |
| 485 | let span = range.span(); |
| 486 | let error_push = generate_error_push( |
| 487 | span, |
| 488 | quote!(format!("{:?}", #value_expr)), |
| 489 | quote!(None), |
| 490 | pattern.node_id, |
| 491 | ); |
| 492 | |
| 493 | quote_spanned! {span=> |
| 494 | match &#value_expr { |
| 495 | #range => {}, |
| 496 | _ => { |
| 497 | #error_push |
| 498 | } |
| 499 | } |
| 500 | } |
| 501 | } |
| 502 | |
| 503 | /// Generate string literal assertion with error collection |
| 504 | /// String literals always use .as_ref() to handle String/&str matching |
no test coverage detected