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

Function expand_tuple_assertion

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

Generate assertion for plain tuples with error collection. Uses match expressions for consistency with enum tuple handling.

(value_expr: &TokenStream, pattern: &PatternTuple)

Source from the content-addressed store, hash-verified

377/// Generate assertion for plain tuples with error collection.
378/// Uses match expressions for consistency with enum tuple handling.
379fn expand_tuple_assertion(value_expr: &TokenStream, pattern: &PatternTuple) -> TokenStream {
380 let elements = &pattern.elements;
381 // Use helper to process elements with collection strategy
382 let (match_patterns, element_assertions) = process_tuple_elements(elements, "__tuple_elem_");
383
384 quote! {
385 #[allow(unreachable_patterns)]
386 match #value_expr {
387 (#(#match_patterns),*) => {
388 #(#element_assertions)*
389 },
390 _ => unreachable!("Plain tuple match should always succeed"),
391 }
392 }
393}
394
395// Check if a path refers to Option::Some
396

Callers 1

expand_pattern_assertionFunction · 0.85

Calls 1

process_tuple_elementsFunction · 0.85

Tested by

no test coverage detected