MCPcopy Create free account
hub / github.com/clockworklabs/SpacetimeDB / define_struct_for_product

Function define_struct_for_product

crates/codegen/src/rust.rs:1064–1081  ·  view source on GitHub ↗
(
    module: &ModuleDef,
    out: &mut Indenter,
    name: &str,
    elements: &[(Identifier, AlgebraicTypeUse)],
    vis: &str,
)

Source from the content-addressed store, hash-verified

1062}
1063
1064fn 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
1083fn type_ref_module_name(module: &ModuleDef, type_ref: AlgebraicTypeRef) -> String {
1084 let (name, _) = module.type_def_from_ref(type_ref).unwrap();

Callers 3

generate_type_filesMethod · 0.85
generate_reducer_fileMethod · 0.85

Calls 3

print_struct_derivesFunction · 0.85
newlineMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…