diff --git a/core/odin/parser/parser.odin b/core/odin/parser/parser.odin index f449f31c4..38e97d51f 100644 --- a/core/odin/parser/parser.odin +++ b/core/odin/parser/parser.odin @@ -1653,7 +1653,15 @@ parse_field_list :: proc(p: ^Parser, follow: tokenizer.Token_Kind, allowed_flags names := make([]^ast.Expr, 1); names[0] = ast.new(ast.Ident, tok.pos, end_pos(tok)); - names[0].derived.(ast.Ident).name = tok.text; + switch ident in &names[0].derived { + case ast.Ident: { + ident.name = tok.text; + } + + case: { + unreachable(); + } + } flags := check_field_flag_prefixes(p, len(list), allowed_flags, eaf.flags);