diff --git a/src/protocol/ast_printer.rs b/src/protocol/ast_printer.rs index 95a47ea43f4b4996e1fdb4e701237dd1cd475b49..8c46a4b463b26fda3a4ea794a9221b1aee169996 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)); } } }