(fields: &[Field])
| 509 | } |
| 510 | |
| 511 | fn fields_pat(fields: &[Field]) -> TokenStream { |
| 512 | let mut members = fields.iter().map(|field| &field.member).peekable(); |
| 513 | match members.peek() { |
| 514 | Some(MemberUnraw::Named(_)) => quote!({ #(#members),* }), |
| 515 | Some(MemberUnraw::Unnamed(_)) => { |
| 516 | let vars = members.map(|member| match member { |
| 517 | MemberUnraw::Unnamed(index) => format_ident!("_{}", index), |
| 518 | MemberUnraw::Named(_) => unreachable!(), |
| 519 | }); |
| 520 | quote!((#(#vars),*)) |
| 521 | } |
| 522 | None => quote!({}), |
| 523 | } |
| 524 | } |
| 525 | |
| 526 | fn use_as_display(needs_as_display: bool) -> Option<TokenStream> { |
| 527 | if needs_as_display { |
no outgoing calls
no test coverage detected