diff --git a/protobuf-codegen/src/gen/field/mod.rs b/protobuf-codegen/src/gen/field/mod.rs index d6a5e44a4..0c1d66ad8 100644 --- a/protobuf-codegen/src/gen/field/mod.rs +++ b/protobuf-codegen/src/gen/field/mod.rs @@ -188,7 +188,16 @@ impl<'a> FieldGen<'a> { FieldKind::Repeated(RepeatedField { elem, - packed: field.field.proto().options.get_or_default().packed(), + packed: field + .field + .proto() + .options + .get_or_default() + .packed + .unwrap_or(match field.message.scope.file_scope.syntax() { + Syntax::Proto2 => false, + Syntax::Proto3 => true, + }), }) } RuntimeFieldType::Singular(..) => {