diff --git a/src/idl_parser.cpp b/src/idl_parser.cpp index 2be1fd933..366a77be8 100644 --- a/src/idl_parser.cpp +++ b/src/idl_parser.cpp @@ -669,11 +669,11 @@ CheckedError Parser::ParseField(StructDef &struct_def) { if (token_ == '=') { NEXT(); - ECHECK(ParseSingleValue(&field->name, field->value)); if (!IsScalar(type.base_type) || (struct_def.fixed && field->value.constant != "0")) return Error( "default values currently only supported for scalars in tables"); + ECHECK(ParseSingleValue(&field->name, field->value)); } if (type.enum_def && !type.enum_def->is_union &&