diff --git a/src/protocol/ast_printer.rs b/src/protocol/ast_printer.rs index 95a47ea43f4b4996e1fdb4e701237dd1cd475b49..4e566cdc23d634459b11530513dee8b50d57f704 100644 --- a/src/protocol/ast_printer.rs +++ b/src/protocol/ast_printer.rs @@ -330,16 +330,13 @@ impl ASTWriter { self.kv(indent4).with_s_key("Name") .with_identifier_val(&variant.identifier); - match &variant.value { - UnionVariantValue::None => { - self.kv(indent4).with_s_key("Value").with_s_val("None"); - } - UnionVariantValue::Embedded(embedded) => { - self.kv(indent4).with_s_key("Values"); - for embedded in embedded { - self.kv(indent4+1).with_s_key("Value") - .with_custom_val(|v| write_parser_type(v, heap, embedded)); - } + if variant.value.is_empty() { + self.kv(indent4).with_s_key("Value").with_s_val("None"); + } else { + self.kv(indent4).with_s_key("Values"); + for embedded in &variant.value { + self.kv(indent4+1).with_s_key("Value") + .with_custom_val(|v| write_parser_type(v, heap, embedded)); } } } @@ -922,7 +919,9 @@ fn write_concrete_type(target: &mut String, heap: &Heap, def_id: DefinitionId, t idx = write_concrete_part(target, heap, def_id, t, idx + 1); } target.push('>'); - } + }, + CTP::Function(_, _) => todo!("AST printer for ConcreteTypePart::Function"), + CTP::Component(_, _) => todo!("AST printer for ConcreteTypePart::Component"), } idx + 1