Lines Matching full:fields
21 pub fields: Fields,
37 pub enum Fields {
38 /// Named fields of a struct or struct variant such as `Point { x: f64,
42 /// Unnamed fields of a tuple struct or tuple variant such as `Some(T)`.
51 /// Named fields of a struct or struct variant such as `Point { x: f64,
61 /// Unnamed fields of a tuple struct or tuple variant such as `Some(T)`.
69 impl Fields { impl
72 /// variant's fields uniformly.
75 Fields::Unit => crate::punctuated::empty_punctuated_iter(), in iter()
76 Fields::Named(f) => f.named.iter(), in iter()
77 Fields::Unnamed(f) => f.unnamed.iter(), in iter()
83 /// struct or variant's fields uniformly.
86 Fields::Unit => crate::punctuated::empty_punctuated_iter_mut(), in iter_mut()
87 Fields::Named(f) => f.named.iter_mut(), in iter_mut()
88 Fields::Unnamed(f) => f.unnamed.iter_mut(), in iter_mut()
92 /// Returns the number of fields.
95 Fields::Unit => 0, in len()
96 Fields::Named(f) => f.named.len(), in len()
97 Fields::Unnamed(f) => f.unnamed.len(), in len()
101 /// Returns `true` if there are zero fields.
104 Fields::Unit => true, in is_empty()
105 Fields::Named(f) => f.named.is_empty(), in is_empty()
106 Fields::Unnamed(f) => f.unnamed.is_empty(), in is_empty()
111 /// Get an iterator over the fields of a struct or variant as [`Member`]s.
113 /// variant's fields uniformly.
126 /// let members = input.fields.members();
140 /// For structs with named fields, it produces an expression like `Self { a:
141 /// self.a.clone() }`. For structs with unnamed fields, `Self { 0:
145 fields: self.iter(),
152 impl IntoIterator for Fields { implementation
158 Fields::Unit => Punctuated::<Field, ()>::new().into_iter(), in into_iter()
159 Fields::Named(f) => f.named.into_iter(), in into_iter()
160 Fields::Unnamed(f) => f.unnamed.into_iter(), in into_iter()
165 impl<'a> IntoIterator for &'a Fields { implementation
174 impl<'a> IntoIterator for &'a mut Fields { implementation
195 /// Fields of tuple structs have no names.
205 fields: punctuated::Iter<'a, Field>, field
213 let field = self.fields.next()?; in next()
235 fields: self.fields.clone(), in clone()
244 use crate::data::{Field, Fields, FieldsNamed, FieldsUnnamed, Variant};
265 let fields = if input.peek(token::Brace) { in parse() localVariable
266 Fields::Named(input.parse()?) in parse()
268 Fields::Unnamed(input.parse()?) in parse()
270 Fields::Unit in parse()
295 fields, in parse()
388 self.fields.to_tokens(tokens); in to_tokens()