diff --git a/src/idl_parser.cpp b/src/idl_parser.cpp index e89a39151bf4075a4af206ae6da1c6f8833d1cab..97eb426b4ddf62ef5332201679cb72df4629f395 100644 --- a/src/idl_parser.cpp +++ b/src/idl_parser.cpp @@ -648,8 +648,9 @@ CheckedError Parser::ParseField(StructDef &struct_def) { if (token_ == '=') { NEXT(); - if (!IsScalar(type.base_type)) - return Error("default values currently only supported for scalars"); + if (!IsScalar(type.base_type) || struct_def.fixed) + return Error( + "default values currently only supported for scalars in tables"); ECHECK(ParseSingleValue(field->value)); } if (IsFloat(field->value.type.base_type)) {