Skip to content

Commit d613594

Browse files
authored
Implement property hint string for bit flags (#41)
1 parent da275fb commit d613594

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

derive/src/attribute_ops.rs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,14 +101,21 @@ impl FieldExportOps {
101101
result = Some((field, quote!(#property_hints::FILE), filters.join(",")));
102102
}
103103

104-
if self.flags.is_some() {
104+
if let Some(list) = self.flags.as_ref() {
105105
let field = "flags";
106106

107107
if let Some((active_field, _, _)) = result {
108108
return Self::error(span, active_field, field);
109109
}
110110

111-
result = Some((field, quote!(#property_hints::FLAGS), String::new()));
111+
let flags = list
112+
.elems
113+
.iter()
114+
.map(String::from_expr)
115+
.collect::<Result<Vec<_>, _>>()
116+
.map_err(|err| err.write_errors())?;
117+
118+
result = Some((field, quote!(#property_hints::FLAGS), flags.join(",")));
112119
}
113120

114121
if self.global_dir {

0 commit comments

Comments
 (0)