From cf811dcc055188b6a9f1fc8d8b52e3fdedb38477 Mon Sep 17 00:00:00 2001 From: deads2k Date: Tue, 11 Jul 2017 13:35:33 -0400 Subject: [PATCH] UPSTREAM: 45294: Fix protobuf generator for aliases to repeated types --- .../cmd/libs/go2idl/go-to-protobuf/protobuf/generator.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/vendor/k8s.io/kubernetes/cmd/libs/go2idl/go-to-protobuf/protobuf/generator.go b/vendor/k8s.io/kubernetes/cmd/libs/go2idl/go-to-protobuf/protobuf/generator.go index d29e3e4751dd..a76d670387d4 100644 --- a/vendor/k8s.io/kubernetes/cmd/libs/go2idl/go-to-protobuf/protobuf/generator.go +++ b/vendor/k8s.io/kubernetes/cmd/libs/go2idl/go-to-protobuf/protobuf/generator.go @@ -513,10 +513,13 @@ func memberTypeToProtobufField(locator ProtobufLocator, field *protoField, t *ty log.Printf("failed to alias: %s %s: err %v", t.Name, t.Underlying.Name, err) return err } - if field.Extras == nil { - field.Extras = make(map[string]string) + // If this is not an alias to a slice, cast to the alias + if !field.Repeated { + if field.Extras == nil { + field.Extras = make(map[string]string) + } + field.Extras["(gogoproto.casttype)"] = strconv.Quote(locator.CastTypeName(t.Name)) } - field.Extras["(gogoproto.casttype)"] = strconv.Quote(locator.CastTypeName(t.Name)) } case types.Slice: if t.Elem.Name.Name == "byte" && len(t.Elem.Name.Package) == 0 {