(syn_fields: &SynFields)
| 27 | } |
| 28 | |
| 29 | fn from_fields(syn_fields: &SynFields) -> Result<Self> { |
| 30 | let mut fields = Vec::new(); |
| 31 | |
| 32 | for (index, syn_field) in syn_fields.into_iter().enumerate() { |
| 33 | let field = Field::new(syn_field, index)?; |
| 34 | |
| 35 | if let Some(field) = field { |
| 36 | fields.push(field); |
| 37 | } |
| 38 | } |
| 39 | |
| 40 | fields.sort_by(|left, right| left.order.cmp(&right.order)); |
| 41 | |
| 42 | Ok(Fields { fields }) |
| 43 | } |
| 44 | } |
| 45 | |
| 46 | pub struct Field { |