(source_fields: &[SourceField<'_>])
| 116 | } |
| 117 | |
| 118 | fn gen_read_variant_fields(source_fields: &[SourceField<'_>]) -> (Vec<TokenStream>, Vec<Ident>) { |
| 119 | match build_bindings(source_fields) { |
| 120 | Ok(bindings) => { |
| 121 | let read_fields = bindings |
| 122 | .iter() |
| 123 | .map(|binding| match binding { |
| 124 | FieldBinding::Codec(binding) => binding.read_field(), |
| 125 | FieldBinding::Skipped(binding) => binding.read_default(), |
| 126 | }) |
| 127 | .collect(); |
| 128 | let private_idents = bindings |
| 129 | .iter() |
| 130 | .map(|binding| match binding { |
| 131 | FieldBinding::Codec(binding) => binding.private_ident.clone(), |
| 132 | FieldBinding::Skipped(binding) => binding.private_ident.clone(), |
| 133 | }) |
| 134 | .collect(); |
| 135 | (read_fields, private_idents) |
| 136 | } |
| 137 | Err(err) => (vec![err.to_compile_error()], Vec::new()), |
| 138 | } |
| 139 | } |
| 140 | |
| 141 | fn gen_read_variant_elements( |
| 142 | source_fields: &[SourceField<'_>], |
no test coverage detected