MCPcopy Create free account
hub / github.com/carllerche/assert-struct / expand_range_assertion

Function expand_range_assertion

assert-struct-macros/src/expand.rs:482–501  ·  view source on GitHub ↗

Generate range assertion with error collection

(value_expr: &TokenStream, pattern: &PatternRange)

Source from the content-addressed store, hash-verified

480
481/// Generate range assertion with error collection
482fn 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

Callers 1

expand_pattern_assertionFunction · 0.85

Calls 2

generate_error_pushFunction · 0.85
spanMethod · 0.45

Tested by

no test coverage detected