protobuf-go/proto
Joe Tsai 9b22b9382e internal/impl: treat a nil oneof wrapper as if it were unset
The old implementation had the behavior where a nil wrapper value:
	m := new(foopb.Message)
	m.OneofField = (*foopb.Message_OneofUint32)(nil)
was functionally equivalent to it being directly set to nil:
	m := new(foopb.Message)
	m.OneofField = nil
preserve this semantic in both the table-drive implementation
and the reflection implementation.

Change-Id: Ie44d51e044d4822e61d0e646fbc44aa8d9b90c1f
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/189559
Reviewed-by: Herbie Ong <herbie@google.com>
2019-08-16 00:24:53 +00:00
..
bench_test.go proto: bench_test fixes 2019-07-09 19:32:32 +00:00
decode_gen.go all: support enforce_utf8 override 2019-07-15 19:53:05 +00:00
decode_test.go internal/impl: treat a nil oneof wrapper as if it were unset 2019-08-16 00:24:53 +00:00
decode.go all: refactor extensions, add proto.GetExtension etc. 2019-08-08 18:20:51 +00:00
doc.go proto, internal/impl: make IsInitialized more consistent 2019-07-09 19:49:22 +00:00
encode_gen.go all: support enforce_utf8 override 2019-07-15 19:53:05 +00:00
encode_test.go internal/impl: treat a nil oneof wrapper as if it were unset 2019-08-16 00:24:53 +00:00
encode.go proto: support message_set_wire_format 2019-07-15 19:32:30 +00:00
equal_test.go proto: equate floating-point NaNs 2019-07-15 21:36:38 +00:00
equal.go proto: equate floating-point NaNs 2019-07-15 21:36:38 +00:00
extension_test.go all: refactor extensions, add proto.GetExtension etc. 2019-08-08 18:20:51 +00:00
extension.go all: refactor extensions, add proto.GetExtension etc. 2019-08-08 18:20:51 +00:00
isinit_test.go proto: move T->*T wrappers from internal/scalar to proto 2019-07-12 17:35:01 +00:00
isinit.go runtime/protoiface: move and rename XXX_Methods 2019-07-12 19:31:58 +00:00
merge_test.go all: refactor extensions, add proto.GetExtension etc. 2019-08-08 18:20:51 +00:00
merge.go
messageset_test.go all: rename tag and flags for legacy support 2019-08-08 20:49:00 +00:00
messageset.go all: rename tag and flags for legacy support 2019-08-08 20:49:00 +00:00
proto_methods.go runtime/protoiface: move and rename XXX_Methods 2019-07-12 19:31:58 +00:00
proto_reflect.go runtime/protoiface: move and rename XXX_Methods 2019-07-12 19:31:58 +00:00
proto.go all: remove dead code 2019-08-06 21:16:48 +00:00
reset_test.go internal/impl: treat a nil oneof wrapper as if it were unset 2019-08-16 00:24:53 +00:00
reset.go
size_gen.go
size.go proto: support message_set_wire_format 2019-07-15 19:32:30 +00:00
wrappers.go proto: move T->*T wrappers from internal/scalar to proto 2019-07-12 17:35:01 +00:00