TODO this has to be kept in sync with Data which we want to be an untagged
union. There is some kind of language awkwardness here and it has to do with
deserializing an untagged union (in this case Data) from a file, and trying
to preserve the hidden safety field.
extendedun_nodeun_tokpl_nodepl_tokbinstrstr_toktoknodeintfloatptr_typeint_type@"unreachable"@"break"dbg_stmtinst_nodestr_op@"defer"defer_err_codesave_err_ret_indexelem_val_immdeclarationpub const FieldEnum = enum {
extended,
un_node,
un_tok,
pl_node,
pl_tok,
bin,
str,
str_tok,
tok,
node,
int,
float,
ptr_type,
int_type,
@"unreachable",
@"break",
dbg_stmt,
inst_node,
str_op,
@"defer",
defer_err_code,
save_err_ret_index,
elem_val_imm,
declaration,
}