aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-03-17Upgrade golang-protobuf to v1.30.0 am: fb8fa965ff am: a9ac88b2de am: ↵HEADandroid-14.0.0_r37android-14.0.0_r36android-14.0.0_r35android-14.0.0_r34android-14.0.0_r33android-14.0.0_r32android-14.0.0_r31android-14.0.0_r30android-14.0.0_r29mastermainandroid14-qpr2-s5-releaseandroid14-qpr2-s4-releaseandroid14-qpr2-s3-releaseandroid14-qpr2-s2-releaseandroid14-qpr2-s1-releaseandroid14-qpr2-releaseDan Willemsen
bdb9197b4f am: 2e590813ee am: 28644ef0ae Original change: https://android-review.googlesource.com/c/platform/external/golang-protobuf/+/2494457 Change-Id: Ic246711ec081749879f8870f2533c88ec59bb39e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-17Upgrade golang-protobuf to v1.30.0 am: fb8fa965ff am: a9ac88b2de am: ↵Dan Willemsen
bdb9197b4f am: 2e590813ee am: 4cd06776fd Original change: https://android-review.googlesource.com/c/platform/external/golang-protobuf/+/2494457 Change-Id: Ibbdecf8f11e2aa9c465a129f0db8ba52049443d1 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-17Upgrade golang-protobuf to v1.30.0 am: fb8fa965ff am: a9ac88b2de am: ↵Dan Willemsen
bdb9197b4f am: 2e590813ee Original change: https://android-review.googlesource.com/c/platform/external/golang-protobuf/+/2494457 Change-Id: I35afaeeca87d5c696dd6e2be9cae9e3e6c9c97ab Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-17Upgrade golang-protobuf to v1.30.0 am: fb8fa965ff am: a9ac88b2de am: ↵android-14.0.0_r45android-14.0.0_r44android-14.0.0_r43android-14.0.0_r42android-14.0.0_r41android-14.0.0_r40android-14.0.0_r39android-14.0.0_r38android-14.0.0_r27android-14.0.0_r26android-14.0.0_r25android-14.0.0_r24android-14.0.0_r23android-14.0.0_r22android-14.0.0_r21android-14.0.0_r20android-14.0.0_r19android-14.0.0_r18android-14.0.0_r17android-14.0.0_r16android14-qpr1-s2-releaseandroid14-qpr1-releaseandroid14-d2-s5-releaseandroid14-d2-s4-releaseandroid14-d2-s3-releaseandroid14-d2-s2-releaseandroid14-d2-s1-releaseandroid14-d2-releaseDan Willemsen
bdb9197b4f am: 2e590813ee Original change: https://android-review.googlesource.com/c/platform/external/golang-protobuf/+/2494457 Change-Id: I09b59c95f174d692648118d4b7d9c14b4ca1f0d7 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-17Upgrade golang-protobuf to v1.30.0 am: fb8fa965ff am: a9ac88b2de am: bdb9197b4fandroid14-devDan Willemsen
Original change: https://android-review.googlesource.com/c/platform/external/golang-protobuf/+/2494457 Change-Id: Ie3349aeb836c4679a62eb0eee10d5aa5d49b21b6 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-16Upgrade golang-protobuf to v1.30.0 am: fb8fa965ff am: a9ac88b2deDan Willemsen
Original change: https://android-review.googlesource.com/c/platform/external/golang-protobuf/+/2494457 Change-Id: I268f6d87aeb6ba0483bee1be1dbb6918b04740fa Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-16Upgrade golang-protobuf to v1.30.0 am: fb8fa965ffDan Willemsen
Original change: https://android-review.googlesource.com/c/platform/external/golang-protobuf/+/2494457 Change-Id: I21ca417bb888771cca741793e50f91557000695f Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-16Upgrade golang-protobuf to v1.30.0android-u-beta-1-gplDan Willemsen
This project was upgraded with external_updater. Usage: tools/external_updater/updater.sh update golang-protobuf For more info, check https://cs.android.com/android/platform/superproject/+/master:tools/external_updater/README.md Test: TreeHugger Change-Id: I90b88fc87679f590c2bd4240e45f0c60e7b761b1
2023-03-16all: release v1.30.0upstream-v1.30.0Lasse Folger
Change-Id: I065812c6b762f58d5c9d76689b81dea1e7082e2a Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/476835 Reviewed-by: Michael Stapelberg <stapelberg@google.com>
2023-03-15protoadapt: helper functions to convert v1 or v2 message to either v1 or v2 ↵Abhilash Pallerlamudi
message. Fixes golang/protobuf#1442 Change-Id: I7ec60982be81d5dc060094ccec51d819b17a3a8f Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/449576 Reviewed-by: Michael Stapelberg <stapelberg@google.com> Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Lasse Folger <lassefolger@google.com>
2023-03-14all: start v1.29.1-develLasse Folger
Change-Id: Ie844955201027d59486a14e2470ffbac5bce5da8 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/475877 Reviewed-by: Michael Stapelberg <stapelberg@google.com>
2023-03-14all: release v1.29.1Lasse Folger
Change-Id: Ib054f406292d9f2f37e9225d7dd81c65511f43af Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/475876 Reviewed-by: Michael Stapelberg <stapelberg@google.com>
2023-03-14internal/encoding/text: fix parsing of incomplete numbersDamien Neil
Fix a panic when parsing the incomplete negative number "- ". Fixes golang/protobuf#1530 Change-Id: Iba5e8ee68d5f7255c28f1a74f31beee36c9ed847 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/475995 Reviewed-by: Lasse Folger <lassefolger@google.com> Run-TryBot: Damien Neil <dneil@google.com>
2023-03-08all: start v1.29.0-develLasse Folger
Change-Id: I543d164519c1f8a095f9d8975213b182b3067f20 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/474436 Reviewed-by: Michael Stapelberg <stapelberg@google.com>
2023-03-08all: release v1.29.0Lasse Folger
Change-Id: Ieb49f0086eddc141eb0d13c749474803d22354d4 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/474435 Reviewed-by: Michael Stapelberg <stapelberg@google.com>
2023-03-07cmd/protoc-gen-go: support protobuf retention featuregoogleberg
This change strips out all descriptor option fields marked with [retention = RETENTION_SOURCE] before writing the FileDescriptor to the generated go code bindings. Change-Id: Ie624d9d4b4f211a256661d80a04199ae8401662b Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/472696 Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Lasse Folger <lassefolger@google.com>
2023-03-06encoding/prototext: allow whitespace and comments between minus sign and ↵Josh Humphries
number in negative numeric literal The text format specification[1] indicates that whitespace and comments may appear after a minus sign and before the subsequent numeric component in negative number literals. But the Go implementation does not allow this. This brings the Go implementation info conformance with this aspect. Fixes golang/protobuf#1526 [1] https://protobuf.dev/reference/protobuf/textformat-spec/#parsing Change-Id: I3996c89ee9d37cf2b7502fc6736d6e2ed6dbcf43 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/473015 Reviewed-by: Lasse Folger <lassefolger@google.com> Reviewed-by: Damien Neil <dneil@google.com>
2023-02-22types/descriptorpb: regenerate using latest protobuf v22.0 releaseJosh Humphries
This updates all generated code to match the contents of the latest v22.0 release of Protobuf. This involved a couple of changes to the script that does the sync'ing: 1. The new Protobuf version no longer includes autoconf configuration and instead requires using bazel to build things. 2. The new Protobuf release does not have an artifact named "protobuf-all-${VERSION}.tar.gz", but the one named "protobuf-${VERSION}.tar.gz" has all of the sources and was sufficient for the regenerate.bash script to complete. This change does NOT regenerate the protos related to benchmarks. The Protobuf repo no longer includes benchmarks. The CL removing them says they are superceded by google/fleetbench: https://github.com/protocolbuffers/protobuf/commit/83c499de86224538e5d59adc3d0fa7fdb45b2c72 But that project's proto benchmark files are very different: https://github.com/google/fleetbench/tree/main/fleetbench/proto So I commented out those steps in the generation code since the benchmarks will need some work to reconcile with fleetbench. This code adds known failing tests for conformance. New test cases were added in https://github.com/protocolbuffers/protobuf/pull/9534, but the Go protojson package does not behave according to the new tests. There is an existing issue in GitHub about this: https://github.com/golang/protobuf/issues/1208 Change-Id: Iad796ec7889bc2a74b58db5224facf850cd1a1cd Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/469255 Reviewed-by: Michael Stapelberg <stapelberg@google.com> Reviewed-by: Damien Neil <dneil@google.com>
2023-02-09internal,reflect: correct typosOleksandr Redko
Fix typos in comments and unexported function name. Change-Id: I239fff85bc68d7f0ef6f8853acdc9bbe19d86304 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/466535 Reviewed-by: Lasse Folger <lassefolger@google.com> Reviewed-by: Michael Stapelberg <stapelberg@google.com> Reviewed-by: Joseph Tsai <joetsai@digital-static.net>
2023-02-08all: update links to Protocol Buffer documentationOleksandr Redko
https://developers.google.com/protocol-buffers/ states that this site will be deprecated January 2023 and provides https://protobuf.dev/ as a link to the new location. Generated .pb.go files are created by generate.bash using Go 1.18, so leave them unchanged for now. Fixes golang/protobuf#1520. Change-Id: I1ddf6f329c96ba05d7c7d8562ad2945f479ee09b Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/466375 Reviewed-by: Michael Stapelberg <stapelberg@google.com> Reviewed-by: Lasse Folger <lassefolger@google.com>
2023-02-07proto: document Equal behavior of invalid messagesChristian Höppner
The doc comment of proto.Equal now explicitly describes the behavior in the case when one message is valid and other is invalid. Change-Id: Ifeba40277c7da25193d46ad496e910f9b63eb795 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/464275 Reviewed-by: Joseph Tsai <joetsai@digital-static.net> Reviewed-by: Chressie Himpel <chressie@google.com>
2023-02-06internal/strs: avoid unnecessary allocations in BuilderPontus Leitzler
The grow() method in func did create a new internal byte slice with a specific size instead of a specific capacity. As the call following grow() is append() we ended up with a slice larger than needed. It affects the memory consumption of programs that import generated protobuf files. As an example with the following: -- go.mod -- module x go 1.20 require cloud.google.com/go/appengine v1.6.0 -- main.go -- package main import _ "cloud.google.com/go/appengine/apiv1/appenginepb" func main() {} Running the following a few times: $ go mod tidy && GODEBUG=inittrace=1 go run . 2>&1 | grep appenginepb Before: init cloud.google.com/go/appengine/apiv1/appenginepb @3.4 ms, 0.23 ms clock, 204624 bytes, 231 allocs init cloud.google.com/go/appengine/apiv1/appenginepb @3.2 ms, 0.17 ms clock, 204688 bytes, 231 allocs init cloud.google.com/go/appengine/apiv1/appenginepb @2.5 ms, 0.15 ms clock, 204400 bytes, 230 allocs init cloud.google.com/go/appengine/apiv1/appenginepb @2.5 ms, 0.16 ms clock, 205552 bytes, 234 allocs After: init cloud.google.com/go/appengine/apiv1/appenginepb @3.3 ms, 0.19 ms clock, 143440 bytes, 226 allocs init cloud.google.com/go/appengine/apiv1/appenginepb @2.7 ms, 0.16 ms clock, 144368 bytes, 229 allocs init cloud.google.com/go/appengine/apiv1/appenginepb @2.8 ms, 0.16 ms clock, 144304 bytes, 229 allocs init cloud.google.com/go/appengine/apiv1/appenginepb @3.1 ms, 0.16 ms clock, 142864 bytes, 224 allocs Change-Id: If4ece5d70d6bd9de8a758cb29ce9dffc741c4951 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/465115 Reviewed-by: Joseph Tsai <joetsai@digital-static.net> Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Michael Stapelberg <stapelberg@google.com>
2023-01-30internal/impl: remove the unreachable line of codeNoriaki
Change-Id: Ie929703894858848c8465e0889d4fab04c1facc9 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/463795 Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Lasse Folger <lassefolger@google.com>
2023-01-18cmd/protoc-gen-go: make deprecated messages more descriptiveMichael Stapelberg
Also respect the file-wide deprecation option by treating every identifier within the file as deprecated. Change-Id: Ic3a5e84c2d90bbcbefc0a1b3272cc50554b94218 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/462315 Reviewed-by: Lasse Folger <lassefolger@google.com> Reviewed-by: Damien Neil <dneil@google.com>
2023-01-12protobuf: remove the check for reserved field numbers.Samuel Benzaquen
Field numbers in the reserved range are semantically valid, although the protocol buffer compiler may reject attempts to define fields in this range. Change-Id: Ib939ed5f4fef09b29047b509829b2f01494bfb6a Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/461238 Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Michael Stapelberg <stapelberg@google.com>
2023-01-05types/known/structpb: preallocate map in AsMapMikhail Mazurskiy
Change-Id: I4fe676418959c23055e91d99a07ee3be8d466e25 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/460215 Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Joseph Tsai <joetsai@digital-static.net> Reviewed-by: Michael Stapelberg <stapelberg@google.com>
2022-12-01reflect/protoreflect: add Value.Equal methodJoe Tsai
The Value.Equal method compares Values in a way that is analogous to the reflect.DeepEqual function. Most of the implementation is moved from the "proto" package, with proto.Equal implemented in terms of protoreflect.Value.Equal. Change-Id: Ie9d5f6c073dc49fa59f78385c441db8137de5ec5 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/450775 TryBot-Bypass: Heschi Kreinick <heschi@google.com> Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Oleksii Prokopchuk <prokopchuk@google.com> Reviewed-by: Christian Höppner <hoeppi@google.com> Run-TryBot: Lasse Folger <lassefolger@google.com>
2022-11-16proto: revert expose package-private equalFieldDamien Neil
This reverts commit 4d6d2135eba33eaef1c020129188ce7e82aa4270. Post-submit discussion on CL 448876 suggests that this API should change; revert it pending a decision. Change-Id: I2e81be847c62ea7de5dfef36bb10ab193132e612 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/450955 Reviewed-by: Michael Stapelberg <stapelberg@google.com> Run-TryBot: Damien Neil <dneil@google.com> Reviewed-by: Joseph Tsai <joetsai@digital-static.net> Reviewed-by: Lasse Folger <lassefolger@google.com> Run-TryBot: Lasse Folger <lassefolger@google.com> TryBot-Bypass: Michael Stapelberg <stapelberg@google.com>
2022-11-14proto: expose package-private equalField.Oleksii Prokopchuk
There is a demand for comparing protobuf.Value-s. One use case is when one wants to compare just one field via reflection. Another is when one wants to iterate over fields and check for diffs. Existing diff packages are recommended only for tests as they panic on error. Exposing equalField will prevent excessive branching of proto/equal.go code. Change-Id: Iec8843dae96c9ae3c45858e8b97e7aa963473ce2 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/448876 Reviewed-by: Michael Stapelberg <stapelberg@google.com> Run-TryBot: Michael Stapelberg <stapelberg@google.com> TryBot-Bypass: Michael Stapelberg <stapelberg@google.com>
2022-09-20protoreflect: fix list example codeMichael Stapelberg
Change-Id: I2c8afba104ae97be5e575226a47f6a7f20198abe Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/431798 Reviewed-by: Nicolas Hillegeer <aktau@google.com>
2022-09-13integration test: drop Go 1.11 and Go 1.12Michael Stapelberg
fixes https://github.com/golang/protobuf/issues/1483 Change-Id: Ia5235f5923bc2430213d38bf5c6c5d0bcf25fa24 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/430516 Run-TryBot: Nicolas Hillegeer <aktau@google.com> Reviewed-by: Nicolas Hillegeer <aktau@google.com>
2022-08-31encoding/protojson: fix parsing of google.protobuf.TimestampJoe Tsai
The Timestamp message uses a subset of RFC 3339. RFC 3339, section 5.6 specifies that the subsecond field can have any non-zero number of digits. On the other hand, the protobuf documentation specifies that Timestamp uses RFC 3339 with a few restrictions. In other words, protobuf does NOT use RFC 3339, but rather a subset of it. An upstream change https://go.dev/cl/425037 modifies the time package to be internally consistent about handling of extra subsecond digits allowing it to be more in line with RFC 3339. Make a corresponding change here to ensure we remain compliant with protobuf's restricted use of RFC 3339. Change-Id: Ic145c68492fb41a5f7b79b653f3246dd9091d5d8 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/425554 Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Lasse Folger <lassefolger@google.com>
2022-08-27types/descriptorpb: update *.pb.go to use latest protoc release, 21.5Josh Humphries
I updated the protoc version to 21.5 and ran regenerate.bash. This updates the various *.pb.go files to use the sources from the latest protobuf release. In particular, this updates the descriptorpb, so it includes some changes to descriptor.proto in the past year and a half since this was last re-generated. The change also pulled over several other generated changes. Change-Id: Icd9c4e5d47ba85e1f4bae1d0a025f8dec15a3014 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/426054 Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Lasse Folger <lassefolger@google.com>
2022-08-02encoding: add protodelim packageSachin Padmanabhan
Fixes golang/protobuf#1382 Change-Id: I30dc9bf9aa44e35cde8fb472c3b8b116d459714e Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/419254 Reviewed-by: Michael Stapelberg <stapelberg@google.com> Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Joseph Tsai <joetsai@digital-static.net>
2022-07-28all: start v1.28.1-develLasse Folger
Change-Id: Ifa2563ae4661a99deaf015533d98413a38365797 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/419935 Reviewed-by: Michael Stapelberg <stapelberg@google.com>
2022-07-28all: release v1.28.1upstream-v1.28.1Lasse Folger
Change-Id: I2987633792a1429079cfebdf4c03d5629e4a448a Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/419934 Reviewed-by: Michael Stapelberg <stapelberg@google.com>
2022-07-28all: Add prebuild binaries for arm64Lasse Folger
Change-Id: Ia8a0e2cce7a33c50d0064cb67a4e1c669cf8569b Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/419714 Reviewed-by: Michael Stapelberg <stapelberg@google.com> Reviewed-by: Damien Neil <dneil@google.com>
2022-07-22A+C: delete AUTHORS and CONTRIBUTORSRuss Cox
In 2009, Google's open-source lawyers asked us to create the AUTHORS file to define "The Go Authors", and the CONTRIBUTORS file was in keeping with open source best practices of the time. Re-reviewing our repos now in 2022, the open-source lawyers are comfortable with source control history taking the place of the AUTHORS file, and most open source projects no longer maintain CONTRIBUTORS files. To ease maintenance, remove AUTHORS and CONTRIBUTORS from all repos. For #53961. Change-Id: I6f3becd863672356de571303ff31434f517d959e Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/418902 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: David Chase <drchase@google.com>
2022-07-21internal/impl: improve MessageInfo.New performanceDamien Neil
Calling the ProtoReflect method of the newly-constructed message avoids an allocation in MessageInfo.MessageOf in the common case of a generated message with an optimized ProtoReflect method. Benchmark for creating an empty message, darwin/arm64 M1 laptop: name old time/op new time/op delta EmptyMessage/New-10 32.1ns ± 2% 23.7ns ± 2% -26.06% (p=0.000 n=10+9) name old alloc/op new alloc/op delta EmptyMessage/New-10 64.0B ± 0% 48.0B ± 0% -25.00% (p=0.000 n=10+10) name old allocs/op new allocs/op delta EmptyMessage/New-10 2.00 ± 0% 1.00 ± 0% -50.00% (p=0.000 n=10+10) Change-Id: Ifa3c3ffa8edc76f78399306d0f4964eae4aacd28 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/418677 Reviewed-by: Michael Stapelberg <stapelberg@google.com> Reviewed-by: Lasse Folger <lassefolger@google.com>
2022-07-21all: reformat with go1.19 gofmtDamien Neil
Apply go1.19 gofmt to non-generated files. Generated .pb.go files are created by generate.bash using Go 1.18, so leave them unchanged for now. Change-Id: Ied36c83cf99704988d059bf0412e677f0fbc71b0 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/418676 Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Lasse Folger <lassefolger@google.com>
2022-07-21all: make integration test work on darwin/arm64Damien Neil
Skip tests with Go versions prior to 1.16. Bump test version for Go 1.17 and 1.18 to latest. Change-Id: I740bbc63bf35362fcfad3cf0e07ea4bd0ee56748 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/418675 Reviewed-by: Lasse Folger <lassefolger@google.com>
2022-07-21proto: fix compilation failure in testsDamien Neil
Change-Id: I61a84dffcf4ccc9f81dc8b9f932c315713e81142 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/418674 Reviewed-by: Lasse Folger <lassefolger@google.com>
2022-06-17proto: use reflect.Ptr for backward compatibilityKoichi Shiraishi
reflect.Pointer introduced on go1.18. Support 1.17 and earlier. Change-Id: I62dcdb580a7976068e86df432bc44ee21c2cda81 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/412354 Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Joseph Tsai <joetsai@digital-static.net> Reviewed-by: Lasse Folger <lassefolger@google.com>
2022-06-15proto: short-circuit Equal when inputs are identicalMitko Asenov
I added benchmarks (measured on Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz) that show the difference: name old time/op new time/op delta EqualWithSmallEmpty-12 241ns ± 6% 242ns ± 6% ~ (p=0.796 n=10+10) EqualWithIdenticalPtrEmpty-12 241ns ± 3% 7ns ± 4% -97.19% (p=0.000 n=10+10) EqualWithLargeEmpty-12 2.68µs ± 3% 2.59µs ± 3% -3.27% (p=0.000 n=10+10) EqualWithDeeplyNestedEqual-12 73.9µs ± 3% 71.8µs ± 1% -2.91% (p=0.000 n=10+9) EqualWithDeeplyNestedDifferent-12 20.0µs ± 5% 19.4µs ± 5% -3.06% (p=0.029 n=10+10) EqualWithDeeplyNestedIdenticalPtr-12 73.9µs ± 4% 0.0µs ± 2% -99.99% (p=0.000 n=10+10) Change-Id: I1b83fa477d6432eafd355b322f507cf90b9a6751 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/411377 Reviewed-by: Lasse Folger <lassefolger@google.com> Reviewed-by: Joseph Tsai <joetsai@digital-static.net> Reviewed-by: Michael Stapelberg <stapelberg@google.com>
2022-05-24all: remove shorthand import aliasesKoichi Shiraishi
Change-Id: I62ec79419354a2c65ac69e4bcc1cc864a6a40a1a Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/407934 Reviewed-by: Lasse Folger <lassefolger@google.com> Reviewed-by: Damien Neil <dneil@google.com>
2022-05-23all: remove duplicate importsKoichi Shiraishi
protoreflect (as pref) and protoiface (as piface) are imported duplicates in some files. Respect package name, remove unnecessary aliased import statements. Change-Id: Ie9897f17a50d19a462035964e366af72afed0e4d Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/405694 Reviewed-by: Kirill Kolyshkin <kolyshkin@gmail.com> Reviewed-by: Lasse Folger <lassefolger@google.com> Reviewed-by: Damien Neil <dneil@google.com>
2022-05-23gha-ci: update github actions to latest versionsKir Kolyshkin
Update - actions/setup-go from v2 to v3; - actions/checkout from v2 to v3; - actions/cache from v2 to v3.0.2. Tested at https://github.com/kolyshkin/protobuf-go/runs/6480937412 Change-Id: Ibeda7c83b1dfaf69dff1dab358b977958a48e51d Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/406846 Reviewed-by: Lasse Folger <lassefolger@google.com> Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Joseph Tsai <joetsai@digital-static.net>
2022-05-23gha-ci: bump Go version, nitsKir Kolyshkin
1. Switch from Go 1.16 to Go 1.x (which should now resolve to Go 1.18.1). 2. Add a comment explaining that the above version is not the actual Go version used for testing. 3. Drop -mod=vendor as this is the unconditional default since Go 1.16 (unless GO111MODULES overrides this). 4. While at it, fix the options order in go test command, putting options before the file name. Tested at https://github.com/kolyshkin/protobuf-go/actions/runs/2342081396 Change-Id: Icc9aa47ddc0d04abb69b48fcb6b021e3e8a98df3 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/406954 Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Joseph Tsai <joetsai@digital-static.net> Reviewed-by: Lasse Folger <lassefolger@google.com>
2022-05-19all: update to latest staticcheckKir Kolyshkin
The staticcheck version being used (2020.1.4) can no longer work with latest Go, spitting out errors like this one: > could not load export data: cannot import > "unicode" (unknown iexport format version 2), export data is newer > version - update tool (compile) Update to latest version, 2022.1.2, to fix this. Change-Id: I745482561a46baebc70931443008b95bec2fa377 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/406842 Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Joseph Tsai <joetsai@digital-static.net> Reviewed-by: Lasse Folger <lassefolger@google.com>
2022-05-19internal/encoding/text: fix -0 comparisons in testsDamien Neil
Correctly distinguish between 0 and -0 in tests. Change-Id: I41f6702a903ca0cf9edf9e95be812a3a29930978 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/406917 Reviewed-by: Lasse Folger <lassefolger@google.com>