(
module: &ModuleDef,
out: &mut Indenter,
name: &str,
elements: &[(Identifier, AlgebraicTypeUse)],
vis: &str,
)
| 1062 | } |
| 1063 | |
| 1064 | fn define_struct_for_product( |
| 1065 | module: &ModuleDef, |
| 1066 | out: &mut Indenter, |
| 1067 | name: &str, |
| 1068 | elements: &[(Identifier, AlgebraicTypeUse)], |
| 1069 | vis: &str, |
| 1070 | ) { |
| 1071 | print_struct_derives(out); |
| 1072 | |
| 1073 | write!(out, "{vis} struct {name} "); |
| 1074 | |
| 1075 | // TODO: if elements is empty, define a unit struct with no brace-delimited list of fields. |
| 1076 | write_struct_type_fields_in_braces( |
| 1077 | module, out, elements, true, // `pub`-qualify fields. |
| 1078 | ); |
| 1079 | |
| 1080 | out.newline(); |
| 1081 | } |
| 1082 | |
| 1083 | fn type_ref_module_name(module: &ModuleDef, type_ref: AlgebraicTypeRef) -> String { |
| 1084 | let (name, _) = module.type_def_from_ref(type_ref).unwrap(); |
no test coverage detected
searching dependent graphs…