Print field documentation even for unnamed enum variant fields
[ldk-c-bindings] / c-bindings-gen / src / main.rs
index 720ddbd8bc9f17232bed2e1750fc13a84460bcf7..aaf5a630da3e46c80a9ea06046a93e935df48594 100644 (file)
@@ -1656,14 +1656,17 @@ fn writeln_enum<'a, 'b, W: std::io::Write>(w: &mut W, e: &'a syn::ItemEnum, type
                        }
                        if !empty_tuple_variant {
                                needs_free = true;
-                               write!(w, "(").unwrap();
+                               writeln!(w, "(").unwrap();
                                for (idx, field) in fields.unnamed.iter().enumerate() {
                                        if export_status(&field.attrs) == ExportStatus::TestOnly { continue; }
-                                       write!(&mut constr, "{}: ", ('a' as u8 + idx as u8) as char).unwrap();
+                                       writeln_field_docs(w, &field.attrs, "\t\t", types, Some(&gen_types), &field.ty);
+                                       write!(w, "\t\t").unwrap();
                                        types.write_c_type(w, &field.ty, Some(&gen_types), true);
+
+                                       write!(&mut constr, "{}: ", ('a' as u8 + idx as u8) as char).unwrap();
                                        types.write_c_type(&mut constr, &field.ty, Some(&gen_types), true);
                                        if idx != fields.unnamed.len() - 1 {
-                                               write!(w, ",").unwrap();
+                                               writeln!(w, ",").unwrap();
                                                write!(&mut constr, ",").unwrap();
                                        }
                                }