Generate assertion for plain tuples with error collection. Uses match expressions for consistency with enum tuple handling.
(value_expr: &TokenStream, pattern: &PatternTuple)
| 377 | /// Generate assertion for plain tuples with error collection. |
| 378 | /// Uses match expressions for consistency with enum tuple handling. |
| 379 | fn 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 |
no test coverage detected