diff --git a/.circleci/config.yml b/.circleci/config.yml index eab17864..29ad84e7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -56,6 +56,12 @@ jobs: working_directory: ~/repo docker: - image: cimg/go:1.18 + steps: *simple_job_steps + + build-1-19: + working_directory: ~/repo + docker: + - image: cimg/go:1.19 steps: - checkout - restore_cache: @@ -77,10 +83,10 @@ jobs: #- store_test_results: # path: /tmp/test-reports - build-1-18-u: + build-1-19-u: working_directory: ~/repo docker: - - image: cimg/go:1.18 + - image: cimg/go:1.19 steps: - checkout - run: @@ -102,4 +108,5 @@ workflows: - build-1-17 - build-windows - build-1-18 - - build-1-18-u + - build-1-19 + - build-1-19-u diff --git a/desc/protoprint/testfiles/descriptor-compact.proto b/desc/protoprint/testfiles/descriptor-compact.proto index 600587e5..e28e0f6d 100644 --- a/desc/protoprint/testfiles/descriptor-compact.proto +++ b/desc/protoprint/testfiles/descriptor-compact.proto @@ -166,7 +166,6 @@ message FieldDescriptorProto { // For booleans, "true" or "false". // For strings, contains the default text contents (not escaped in any way). // For bytes, contains the C escaped value. All bytes >= 128 are escaped. - // TODO(kenton): Base-64 encode? optional string default_value = 7; // If set, gives the index of a oneof in the containing type's oneof_decl // list. This field is a member of that oneof. @@ -501,7 +500,17 @@ message FieldOptions { // implementation must either *always* check its required fields, or *never* // check its required fields, regardless of whether or not the message has // been parsed. + // + // As of 2021, lazy does no correctness checks on the byte stream during + // parsing. This may lead to crashes if and when an invalid byte stream is + // finally parsed upon access. + // + // TODO(b/211906113): Enable validation on lazy fields. optional bool lazy = 5 [default = false]; + // unverified_lazy does no correctness checks on the byte stream. This should + // only be used where lazy with verification is prohibitive for performance + // reasons. + optional bool unverified_lazy = 15 [default = false]; // Is this field deprecated? // Depending on the target platform, this can emit Deprecated annotations // for accessors, or it will be completely ignored; in the very least, this @@ -590,8 +599,8 @@ message UninterpretedOption { // The name of the uninterpreted option. Each string represents a segment in // a dot-separated name. is_extension is true iff a segment represents an // extension (denoted with parentheses in options specs in .proto files). - // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents - // "foo.(bar.baz).qux". + // E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents + // "foo.(bar.baz).moo". message NamePart { required string name_part = 1; required bool is_extension = 2; @@ -660,8 +669,8 @@ message SourceCodeInfo { // location. // // Each element is a field number or an index. They form a path from - // the root FileDescriptorProto to the place where the definition. For - // example, this path: + // the root FileDescriptorProto to the place where the definition occurs. + // For example, this path: // [ 4, 3, 2, 7, 1 ] // refers to: // file.message_type(3) // 4, 3 @@ -713,13 +722,13 @@ message SourceCodeInfo { // // Comment attached to baz. // // Another line attached to baz. // - // // Comment attached to qux. + // // Comment attached to moo. // // - // // Another line attached to qux. - // optional double qux = 4; + // // Another line attached to moo. + // optional double moo = 4; // // // Detached comment for corge. This is not leading or trailing comments - // // to qux or corge because there are blank lines separating it from + // // to moo or corge because there are blank lines separating it from // // both. // // // Detached comment for corge paragraph 2. diff --git a/desc/protoprint/testfiles/descriptor-custom-sort.proto b/desc/protoprint/testfiles/descriptor-custom-sort.proto index f8432e2f..840144f1 100644 --- a/desc/protoprint/testfiles/descriptor-custom-sort.proto +++ b/desc/protoprint/testfiles/descriptor-custom-sort.proto @@ -48,8 +48,8 @@ message UninterpretedOption { // The name of the uninterpreted option. Each string represents a segment in // a dot-separated name. is_extension is true iff a segment represents an // extension (denoted with parentheses in options specs in .proto files). - // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents - // "foo.(bar.baz).qux". + // E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents + // "foo.(bar.baz).moo". message NamePart { required string name_part = 1; @@ -93,8 +93,8 @@ message SourceCodeInfo { // location. // // Each element is a field number or an index. They form a path from - // the root FileDescriptorProto to the place where the definition. For - // example, this path: + // the root FileDescriptorProto to the place where the definition occurs. + // For example, this path: // [ 4, 3, 2, 7, 1 ] // refers to: // file.message_type(3) // 4, 3 @@ -143,13 +143,13 @@ message SourceCodeInfo { // // Comment attached to baz. // // Another line attached to baz. // - // // Comment attached to qux. + // // Comment attached to moo. // // - // // Another line attached to qux. - // optional double qux = 4; + // // Another line attached to moo. + // optional double moo = 4; // // // Detached comment for corge. This is not leading or trailing comments - // // to qux or corge because there are blank lines separating it from + // // to moo or corge because there are blank lines separating it from // // both. // // // Detached comment for corge paragraph 2. @@ -618,6 +618,11 @@ message FieldOptions { // For Google-internal migration only. Do not use. optional bool weak = 10 [default = false]; + // unverified_lazy does no correctness checks on the byte stream. This should + // only be used where lazy with verification is prohibitive for performance + // reasons. + optional bool unverified_lazy = 15 [default = false]; + // The parser stores options it doesn't recognize here. See above. repeated UninterpretedOption uninterpreted_option = 999; @@ -656,6 +661,12 @@ message FieldOptions { // implementation must either *always* check its required fields, or *never* // check its required fields, regardless of whether or not the message has // been parsed. + // + // As of 2021, lazy does no correctness checks on the byte stream during + // parsing. This may lead to crashes if and when an invalid byte stream is + // finally parsed upon access. + // + // TODO(b/211906113): Enable validation on lazy fields. optional bool lazy = 5 [default = false]; // The jstype option determines the JavaScript type used for values of the @@ -804,7 +815,6 @@ message FieldDescriptorProto { // For booleans, "true" or "false". // For strings, contains the default text contents (not escaped in any way). // For bytes, contains the C escaped value. All bytes >= 128 are escaped. - // TODO(kenton): Base-64 encode? optional string default_value = 7; } diff --git a/desc/protoprint/testfiles/descriptor-default.proto b/desc/protoprint/testfiles/descriptor-default.proto index 73abc8d2..819ae4a5 100644 --- a/desc/protoprint/testfiles/descriptor-default.proto +++ b/desc/protoprint/testfiles/descriptor-default.proto @@ -234,7 +234,6 @@ message FieldDescriptorProto { // For booleans, "true" or "false". // For strings, contains the default text contents (not escaped in any way). // For bytes, contains the C escaped value. All bytes >= 128 are escaped. - // TODO(kenton): Base-64 encode? optional string default_value = 7; // If set, gives the index of a oneof in the containing type's oneof_decl @@ -640,8 +639,19 @@ message FieldOptions { // implementation must either *always* check its required fields, or *never* // check its required fields, regardless of whether or not the message has // been parsed. + // + // As of 2021, lazy does no correctness checks on the byte stream during + // parsing. This may lead to crashes if and when an invalid byte stream is + // finally parsed upon access. + // + // TODO(b/211906113): Enable validation on lazy fields. optional bool lazy = 5 [default = false]; + // unverified_lazy does no correctness checks on the byte stream. This should + // only be used where lazy with verification is prohibitive for performance + // reasons. + optional bool unverified_lazy = 15 [default = false]; + // Is this field deprecated? // Depending on the target platform, this can emit Deprecated annotations // for accessors, or it will be completely ignored; in the very least, this @@ -757,8 +767,8 @@ message UninterpretedOption { // The name of the uninterpreted option. Each string represents a segment in // a dot-separated name. is_extension is true iff a segment represents an // extension (denoted with parentheses in options specs in .proto files). - // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents - // "foo.(bar.baz).qux". + // E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents + // "foo.(bar.baz).moo". message NamePart { required string name_part = 1; @@ -838,8 +848,8 @@ message SourceCodeInfo { // location. // // Each element is a field number or an index. They form a path from - // the root FileDescriptorProto to the place where the definition. For - // example, this path: + // the root FileDescriptorProto to the place where the definition occurs. + // For example, this path: // [ 4, 3, 2, 7, 1 ] // refers to: // file.message_type(3) // 4, 3 @@ -893,13 +903,13 @@ message SourceCodeInfo { // // Comment attached to baz. // // Another line attached to baz. // - // // Comment attached to qux. + // // Comment attached to moo. // // - // // Another line attached to qux. - // optional double qux = 4; + // // Another line attached to moo. + // optional double moo = 4; // // // Detached comment for corge. This is not leading or trailing comments - // // to qux or corge because there are blank lines separating it from + // // to moo or corge because there are blank lines separating it from // // both. // // // Detached comment for corge paragraph 2. diff --git a/desc/protoprint/testfiles/descriptor-multiline-style-comments.proto b/desc/protoprint/testfiles/descriptor-multiline-style-comments.proto index 2665f059..14549a3b 100644 --- a/desc/protoprint/testfiles/descriptor-multiline-style-comments.proto +++ b/desc/protoprint/testfiles/descriptor-multiline-style-comments.proto @@ -267,7 +267,6 @@ message FieldDescriptorProto { * For booleans, "true" or "false". * For strings, contains the default text contents (not escaped in any way). * For bytes, contains the C escaped value. All bytes >= 128 are escaped. - * TODO(kenton): Base-64 encode? */ optional string default_value = 7; @@ -737,9 +736,22 @@ message FieldOptions { * implementation must either *always* check its required fields, or *never* * check its required fields, regardless of whether or not the message has * been parsed. + * + * As of 2021, lazy does no correctness checks on the byte stream during + * parsing. This may lead to crashes if and when an invalid byte stream is + * finally parsed upon access. + * + * TODO(b/211906113): Enable validation on lazy fields. */ optional bool lazy = 5 [default = false]; + /* + * unverified_lazy does no correctness checks on the byte stream. This should + * only be used where lazy with verification is prohibitive for performance + * reasons. + */ + optional bool unverified_lazy = 15 [default = false]; + /* * Is this field deprecated? * Depending on the target platform, this can emit Deprecated annotations @@ -876,8 +888,8 @@ message UninterpretedOption { * The name of the uninterpreted option. Each string represents a segment in * a dot-separated name. is_extension is true iff a segment represents an * extension (denoted with parentheses in options specs in .proto files). - * E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents - * "foo.(bar.baz).qux". + * E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents + * "foo.(bar.baz).moo". */ message NamePart { required string name_part = 1; @@ -967,8 +979,8 @@ message SourceCodeInfo { * location. * * Each element is a field number or an index. They form a path from - * the root FileDescriptorProto to the place where the definition. For - * example, this path: + * the root FileDescriptorProto to the place where the definition occurs. + * For example, this path: * [ 4, 3, 2, 7, 1 ] * refers to: * file.message_type(3) // 4, 3 @@ -1025,13 +1037,13 @@ message SourceCodeInfo { // // Comment attached to baz. // // Another line attached to baz. // - // // Comment attached to qux. + // // Comment attached to moo. // // - // // Another line attached to qux. - // optional double qux = 4; + // // Another line attached to moo. + // optional double moo = 4; // // // Detached comment for corge. This is not leading or trailing comments - // // to qux or corge because there are blank lines separating it from + // // to moo or corge because there are blank lines separating it from // // both. // // // Detached comment for corge paragraph 2. diff --git a/desc/protoprint/testfiles/descriptor-no-trailing-comments.proto b/desc/protoprint/testfiles/descriptor-no-trailing-comments.proto index 82d5fec6..c47f16d4 100644 --- a/desc/protoprint/testfiles/descriptor-no-trailing-comments.proto +++ b/desc/protoprint/testfiles/descriptor-no-trailing-comments.proto @@ -234,7 +234,6 @@ message FieldDescriptorProto { // For booleans, "true" or "false". // For strings, contains the default text contents (not escaped in any way). // For bytes, contains the C escaped value. All bytes >= 128 are escaped. - // TODO(kenton): Base-64 encode? optional string default_value = 7; // If set, gives the index of a oneof in the containing type's oneof_decl @@ -640,8 +639,19 @@ message FieldOptions { // implementation must either *always* check its required fields, or *never* // check its required fields, regardless of whether or not the message has // been parsed. + // + // As of 2021, lazy does no correctness checks on the byte stream during + // parsing. This may lead to crashes if and when an invalid byte stream is + // finally parsed upon access. + // + // TODO(b/211906113): Enable validation on lazy fields. optional bool lazy = 5 [default = false]; + // unverified_lazy does no correctness checks on the byte stream. This should + // only be used where lazy with verification is prohibitive for performance + // reasons. + optional bool unverified_lazy = 15 [default = false]; + // Is this field deprecated? // Depending on the target platform, this can emit Deprecated annotations // for accessors, or it will be completely ignored; in the very least, this @@ -757,8 +767,8 @@ message UninterpretedOption { // The name of the uninterpreted option. Each string represents a segment in // a dot-separated name. is_extension is true iff a segment represents an // extension (denoted with parentheses in options specs in .proto files). - // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents - // "foo.(bar.baz).qux". + // E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents + // "foo.(bar.baz).moo". message NamePart { required string name_part = 1; @@ -838,8 +848,8 @@ message SourceCodeInfo { // location. // // Each element is a field number or an index. They form a path from - // the root FileDescriptorProto to the place where the definition. For - // example, this path: + // the root FileDescriptorProto to the place where the definition occurs. + // For example, this path: // [ 4, 3, 2, 7, 1 ] // refers to: // file.message_type(3) // 4, 3 @@ -893,13 +903,13 @@ message SourceCodeInfo { // // Comment attached to baz. // // Another line attached to baz. // - // // Comment attached to qux. + // // Comment attached to moo. // // - // // Another line attached to qux. - // optional double qux = 4; + // // Another line attached to moo. + // optional double moo = 4; // // // Detached comment for corge. This is not leading or trailing comments - // // to qux or corge because there are blank lines separating it from + // // to moo or corge because there are blank lines separating it from // // both. // // // Detached comment for corge paragraph 2. diff --git a/desc/protoprint/testfiles/descriptor-only-doc-comments.proto b/desc/protoprint/testfiles/descriptor-only-doc-comments.proto index 588130c2..c4df52fa 100644 --- a/desc/protoprint/testfiles/descriptor-only-doc-comments.proto +++ b/desc/protoprint/testfiles/descriptor-only-doc-comments.proto @@ -194,7 +194,6 @@ message FieldDescriptorProto { // For booleans, "true" or "false". // For strings, contains the default text contents (not escaped in any way). // For bytes, contains the C escaped value. All bytes >= 128 are escaped. - // TODO(kenton): Base-64 encode? optional string default_value = 7; // If set, gives the index of a oneof in the containing type's oneof_decl @@ -568,8 +567,19 @@ message FieldOptions { // implementation must either *always* check its required fields, or *never* // check its required fields, regardless of whether or not the message has // been parsed. + // + // As of 2021, lazy does no correctness checks on the byte stream during + // parsing. This may lead to crashes if and when an invalid byte stream is + // finally parsed upon access. + // + // TODO(b/211906113): Enable validation on lazy fields. optional bool lazy = 5 [default = false]; + // unverified_lazy does no correctness checks on the byte stream. This should + // only be used where lazy with verification is prohibitive for performance + // reasons. + optional bool unverified_lazy = 15 [default = false]; + // Is this field deprecated? // Depending on the target platform, this can emit Deprecated annotations // for accessors, or it will be completely ignored; in the very least, this @@ -675,8 +685,8 @@ message UninterpretedOption { // The name of the uninterpreted option. Each string represents a segment in // a dot-separated name. is_extension is true iff a segment represents an // extension (denoted with parentheses in options specs in .proto files). - // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents - // "foo.(bar.baz).qux". + // E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents + // "foo.(bar.baz).moo". message NamePart { required string name_part = 1; @@ -753,8 +763,8 @@ message SourceCodeInfo { // location. // // Each element is a field number or an index. They form a path from - // the root FileDescriptorProto to the place where the definition. For - // example, this path: + // the root FileDescriptorProto to the place where the definition occurs. + // For example, this path: // [ 4, 3, 2, 7, 1 ] // refers to: // file.message_type(3) // 4, 3 @@ -808,13 +818,13 @@ message SourceCodeInfo { // // Comment attached to baz. // // Another line attached to baz. // - // // Comment attached to qux. + // // Comment attached to moo. // // - // // Another line attached to qux. - // optional double qux = 4; + // // Another line attached to moo. + // optional double moo = 4; // // // Detached comment for corge. This is not leading or trailing comments - // // to qux or corge because there are blank lines separating it from + // // to moo or corge because there are blank lines separating it from // // both. // // // Detached comment for corge paragraph 2. diff --git a/desc/protoprint/testfiles/descriptor-sorted-AND-multiline-style-comments.proto b/desc/protoprint/testfiles/descriptor-sorted-AND-multiline-style-comments.proto index 24159173..eb335d99 100644 --- a/desc/protoprint/testfiles/descriptor-sorted-AND-multiline-style-comments.proto +++ b/desc/protoprint/testfiles/descriptor-sorted-AND-multiline-style-comments.proto @@ -232,7 +232,6 @@ message FieldDescriptorProto { * For booleans, "true" or "false". * For strings, contains the default text contents (not escaped in any way). * For bytes, contains the C escaped value. All bytes >= 128 are escaped. - * TODO(kenton): Base-64 encode? */ optional string default_value = 7; @@ -399,6 +398,12 @@ message FieldOptions { * implementation must either *always* check its required fields, or *never* * check its required fields, regardless of whether or not the message has * been parsed. + * + * As of 2021, lazy does no correctness checks on the byte stream during + * parsing. This may lead to crashes if and when an invalid byte stream is + * finally parsed upon access. + * + * TODO(b/211906113): Enable validation on lazy fields. */ optional bool lazy = 5 [default = false]; @@ -420,6 +425,13 @@ message FieldOptions { /* For Google-internal migration only. Do not use. */ optional bool weak = 10 [default = false]; + /* + * unverified_lazy does no correctness checks on the byte stream. This should + * only be used where lazy with verification is prohibitive for performance + * reasons. + */ + optional bool unverified_lazy = 15 [default = false]; + /* The parser stores options it doesn't recognize here. See above. */ repeated UninterpretedOption uninterpreted_option = 999; @@ -961,8 +973,8 @@ message SourceCodeInfo { * location. * * Each element is a field number or an index. They form a path from - * the root FileDescriptorProto to the place where the definition. For - * example, this path: + * the root FileDescriptorProto to the place where the definition occurs. + * For example, this path: * [ 4, 3, 2, 7, 1 ] * refers to: * file.message_type(3) // 4, 3 @@ -1019,13 +1031,13 @@ message SourceCodeInfo { // // Comment attached to baz. // // Another line attached to baz. // - // // Comment attached to qux. + // // Comment attached to moo. // // - // // Another line attached to qux. - // optional double qux = 4; + // // Another line attached to moo. + // optional double moo = 4; // // // Detached comment for corge. This is not leading or trailing comments - // // to qux or corge because there are blank lines separating it from + // // to moo or corge because there are blank lines separating it from // // both. // // // Detached comment for corge paragraph 2. @@ -1078,8 +1090,8 @@ message UninterpretedOption { * The name of the uninterpreted option. Each string represents a segment in * a dot-separated name. is_extension is true iff a segment represents an * extension (denoted with parentheses in options specs in .proto files). - * E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents - * "foo.(bar.baz).qux". + * E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents + * "foo.(bar.baz).moo". */ message NamePart { required string name_part = 1; diff --git a/desc/protoprint/testfiles/descriptor-sorted.proto b/desc/protoprint/testfiles/descriptor-sorted.proto index ccd65cfd..6fa1f058 100644 --- a/desc/protoprint/testfiles/descriptor-sorted.proto +++ b/desc/protoprint/testfiles/descriptor-sorted.proto @@ -165,7 +165,6 @@ message FieldDescriptorProto { // For booleans, "true" or "false". // For strings, contains the default text contents (not escaped in any way). // For bytes, contains the C escaped value. All bytes >= 128 are escaped. - // TODO(kenton): Base-64 encode? optional string default_value = 7; optional FieldOptions options = 8; @@ -310,6 +309,12 @@ message FieldOptions { // implementation must either *always* check its required fields, or *never* // check its required fields, regardless of whether or not the message has // been parsed. + // + // As of 2021, lazy does no correctness checks on the byte stream during + // parsing. This may lead to crashes if and when an invalid byte stream is + // finally parsed upon access. + // + // TODO(b/211906113): Enable validation on lazy fields. optional bool lazy = 5 [default = false]; // The jstype option determines the JavaScript type used for values of the @@ -328,6 +333,11 @@ message FieldOptions { // For Google-internal migration only. Do not use. optional bool weak = 10 [default = false]; + // unverified_lazy does no correctness checks on the byte stream. This should + // only be used where lazy with verification is prohibitive for performance + // reasons. + optional bool unverified_lazy = 15 [default = false]; + // The parser stores options it doesn't recognize here. See above. repeated UninterpretedOption uninterpreted_option = 999; @@ -745,8 +755,8 @@ message SourceCodeInfo { // location. // // Each element is a field number or an index. They form a path from - // the root FileDescriptorProto to the place where the definition. For - // example, this path: + // the root FileDescriptorProto to the place where the definition occurs. + // For example, this path: // [ 4, 3, 2, 7, 1 ] // refers to: // file.message_type(3) // 4, 3 @@ -800,13 +810,13 @@ message SourceCodeInfo { // // Comment attached to baz. // // Another line attached to baz. // - // // Comment attached to qux. + // // Comment attached to moo. // // - // // Another line attached to qux. - // optional double qux = 4; + // // Another line attached to moo. + // optional double moo = 4; // // // Detached comment for corge. This is not leading or trailing comments - // // to qux or corge because there are blank lines separating it from + // // to moo or corge because there are blank lines separating it from // // both. // // // Detached comment for corge paragraph 2. @@ -854,8 +864,8 @@ message UninterpretedOption { // The name of the uninterpreted option. Each string represents a segment in // a dot-separated name. is_extension is true iff a segment represents an // extension (denoted with parentheses in options specs in .proto files). - // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents - // "foo.(bar.baz).qux". + // E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents + // "foo.(bar.baz).moo". message NamePart { required string name_part = 1; diff --git a/desc/protoprint/testfiles/descriptor-trailing-on-next-line.proto b/desc/protoprint/testfiles/descriptor-trailing-on-next-line.proto index 1740a38e..808d687d 100644 --- a/desc/protoprint/testfiles/descriptor-trailing-on-next-line.proto +++ b/desc/protoprint/testfiles/descriptor-trailing-on-next-line.proto @@ -243,7 +243,6 @@ message FieldDescriptorProto { // For booleans, "true" or "false". // For strings, contains the default text contents (not escaped in any way). // For bytes, contains the C escaped value. All bytes >= 128 are escaped. - // TODO(kenton): Base-64 encode? optional string default_value = 7; // If set, gives the index of a oneof in the containing type's oneof_decl @@ -654,8 +653,19 @@ message FieldOptions { // implementation must either *always* check its required fields, or *never* // check its required fields, regardless of whether or not the message has // been parsed. + // + // As of 2021, lazy does no correctness checks on the byte stream during + // parsing. This may lead to crashes if and when an invalid byte stream is + // finally parsed upon access. + // + // TODO(b/211906113): Enable validation on lazy fields. optional bool lazy = 5 [default = false]; + // unverified_lazy does no correctness checks on the byte stream. This should + // only be used where lazy with verification is prohibitive for performance + // reasons. + optional bool unverified_lazy = 15 [default = false]; + // Is this field deprecated? // Depending on the target platform, this can emit Deprecated annotations // for accessors, or it will be completely ignored; in the very least, this @@ -773,8 +783,8 @@ message UninterpretedOption { // The name of the uninterpreted option. Each string represents a segment in // a dot-separated name. is_extension is true iff a segment represents an // extension (denoted with parentheses in options specs in .proto files). - // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents - // "foo.(bar.baz).qux". + // E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents + // "foo.(bar.baz).moo". message NamePart { required string name_part = 1; @@ -854,8 +864,8 @@ message SourceCodeInfo { // location. // // Each element is a field number or an index. They form a path from - // the root FileDescriptorProto to the place where the definition. For - // example, this path: + // the root FileDescriptorProto to the place where the definition occurs. + // For example, this path: // [ 4, 3, 2, 7, 1 ] // refers to: // file.message_type(3) // 4, 3 @@ -909,13 +919,13 @@ message SourceCodeInfo { // // Comment attached to baz. // // Another line attached to baz. // - // // Comment attached to qux. + // // Comment attached to moo. // // - // // Another line attached to qux. - // optional double qux = 4; + // // Another line attached to moo. + // optional double moo = 4; // // // Detached comment for corge. This is not leading or trailing comments - // // to qux or corge because there are blank lines separating it from + // // to moo or corge because there are blank lines separating it from // // both. // // // Detached comment for corge paragraph 2. diff --git a/internal/testprotos/desc_test1.pb.go b/internal/testprotos/desc_test1.pb.go index e715e3f1..eeea8fb4 100644 --- a/internal/testprotos/desc_test1.pb.go +++ b/internal/testprotos/desc_test1.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.19.0 +// protoc v3.21.7 // source: desc_test1.proto package testprotos @@ -236,6 +236,7 @@ type AnotherTestMessage struct { // Comment for atmoo // // Types that are assignable to Atmoo: + // // *AnotherTestMessage_Str // *AnotherTestMessage_Int Atmoo isAnotherTestMessage_Atmoo `protobuf_oneof:"atmoo"` diff --git a/internal/testprotos/desc_test2.pb.go b/internal/testprotos/desc_test2.pb.go index 1732fb9f..d4242b39 100644 --- a/internal/testprotos/desc_test2.pb.go +++ b/internal/testprotos/desc_test2.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.19.0 +// protoc v3.21.7 // source: desc_test2.proto package testprotos @@ -30,6 +30,7 @@ type Frobnitz struct { A *TestMessage `protobuf:"bytes,1,opt,name=a" json:"a,omitempty"` B *AnotherTestMessage `protobuf:"bytes,2,opt,name=b" json:"b,omitempty"` // Types that are assignable to Abc: + // // *Frobnitz_C1 // *Frobnitz_C2 Abc isFrobnitz_Abc `protobuf_oneof:"abc"` @@ -38,6 +39,7 @@ type Frobnitz struct { // Deprecated: Do not use. F []string `protobuf:"bytes,7,rep,name=f" json:"f,omitempty"` // Types that are assignable to Def: + // // *Frobnitz_G1 // *Frobnitz_G2 // *Frobnitz_G3 diff --git a/internal/testprotos/desc_test_comments.pb.go b/internal/testprotos/desc_test_comments.pb.go index 2eab293d..f34d6827 100644 --- a/internal/testprotos/desc_test_comments.pb.go +++ b/internal/testprotos/desc_test_comments.pb.go @@ -10,7 +10,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.19.0 +// protoc v3.21.7 // source: desc_test_comments.proto // And now the package declaration @@ -137,12 +137,14 @@ type Request struct { // can be this or that // // Types that are assignable to Abc: + // // *Request_This // *Request_That Abc isRequest_Abc `protobuf_oneof:"abc"` // can be these or those // // Types that are assignable to Xyz: + // // *Request_These // *Request_Those Xyz isRequest_Xyz `protobuf_oneof:"xyz"` diff --git a/internal/testprotos/desc_test_comments.protoset b/internal/testprotos/desc_test_comments.protoset index af2c9a44..d7ecb346 100644 Binary files a/internal/testprotos/desc_test_comments.protoset and b/internal/testprotos/desc_test_comments.protoset differ diff --git a/internal/testprotos/desc_test_complex.pb.go b/internal/testprotos/desc_test_complex.pb.go index b8bd7ed8..26ccd37d 100644 --- a/internal/testprotos/desc_test_complex.pb.go +++ b/internal/testprotos/desc_test_complex.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.19.0 +// protoc v3.21.7 // source: desc_test_complex.proto package testprotos @@ -594,6 +594,7 @@ type Rule struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Rule: + // // *Rule_String_ // *Rule_Repeated // *Rule_Int diff --git a/internal/testprotos/desc_test_complex_source_info.protoset b/internal/testprotos/desc_test_complex_source_info.protoset index 695b59cb..d07028c1 100644 Binary files a/internal/testprotos/desc_test_complex_source_info.protoset and b/internal/testprotos/desc_test_complex_source_info.protoset differ diff --git a/internal/testprotos/desc_test_defaults.pb.go b/internal/testprotos/desc_test_defaults.pb.go index bbe3cb8b..985f6fea 100644 --- a/internal/testprotos/desc_test_defaults.pb.go +++ b/internal/testprotos/desc_test_defaults.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.19.0 +// protoc v3.21.7 // source: desc_test_defaults.proto package testprotos diff --git a/internal/testprotos/desc_test_field_types.pb.go b/internal/testprotos/desc_test_field_types.pb.go index 90fd3deb..a58e244b 100644 --- a/internal/testprotos/desc_test_field_types.pb.go +++ b/internal/testprotos/desc_test_field_types.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.19.0 +// protoc v3.21.7 // source: desc_test_field_types.proto package testprotos diff --git a/internal/testprotos/desc_test_oneof.pb.go b/internal/testprotos/desc_test_oneof.pb.go index f80592ec..25160679 100644 --- a/internal/testprotos/desc_test_oneof.pb.go +++ b/internal/testprotos/desc_test_oneof.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.19.0 +// protoc v3.21.7 // source: desc_test_oneof.proto package testprotos @@ -26,6 +26,7 @@ type OneOfMessage struct { unknownFields protoimpl.UnknownFields // Types that are assignable to Value: + // // *OneOfMessage_BinaryValue // *OneOfMessage_StringValue // *OneOfMessage_BooleanValue diff --git a/internal/testprotos/desc_test_options.pb.go b/internal/testprotos/desc_test_options.pb.go index 1db563e8..bdee22d7 100644 --- a/internal/testprotos/desc_test_options.pb.go +++ b/internal/testprotos/desc_test_options.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.19.0 +// protoc v3.21.7 // source: desc_test_options.proto package testprotos diff --git a/internal/testprotos/desc_test_proto3.pb.go b/internal/testprotos/desc_test_proto3.pb.go index f9a01f3a..607b8aee 100644 --- a/internal/testprotos/desc_test_proto3.pb.go +++ b/internal/testprotos/desc_test_proto3.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.19.0 +// protoc v3.21.7 // source: desc_test_proto3.proto package testprotos diff --git a/internal/testprotos/desc_test_value.pb.go b/internal/testprotos/desc_test_value.pb.go index f095ef45..e723b13f 100644 --- a/internal/testprotos/desc_test_value.pb.go +++ b/internal/testprotos/desc_test_value.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.19.0 +// protoc v3.21.7 // source: desc_test_value.proto package testprotos diff --git a/internal/testprotos/desc_test_wellknowntypes.pb.go b/internal/testprotos/desc_test_wellknowntypes.pb.go index b239d84c..a5287a8e 100644 --- a/internal/testprotos/desc_test_wellknowntypes.pb.go +++ b/internal/testprotos/desc_test_wellknowntypes.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.19.0 +// protoc v3.21.7 // source: desc_test_wellknowntypes.proto package testprotos diff --git a/internal/testprotos/descriptor.protoset b/internal/testprotos/descriptor.protoset index 281e9e15..81e35bb3 100644 Binary files a/internal/testprotos/descriptor.protoset and b/internal/testprotos/descriptor.protoset differ diff --git a/internal/testprotos/grpc/dummy.pb.go b/internal/testprotos/grpc/dummy.pb.go index d6737bae..726eadc4 100644 --- a/internal/testprotos/grpc/dummy.pb.go +++ b/internal/testprotos/grpc/dummy.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.19.0 +// protoc v3.21.7 // source: grpc/dummy.proto package grpc diff --git a/internal/testprotos/grpc/dummy_grpc.pb.go b/internal/testprotos/grpc/dummy_grpc.pb.go index 72f05641..34b9cf6d 100644 --- a/internal/testprotos/grpc/dummy_grpc.pb.go +++ b/internal/testprotos/grpc/dummy_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v3.19.0 +// - protoc v3.21.7 // source: grpc/dummy.proto package grpc diff --git a/internal/testprotos/grpc/test.pb.go b/internal/testprotos/grpc/test.pb.go index d3ae513e..46e55228 100644 --- a/internal/testprotos/grpc/test.pb.go +++ b/internal/testprotos/grpc/test.pb.go @@ -22,7 +22,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.19.0 +// protoc v3.21.7 // source: grpc/test.proto package grpc diff --git a/internal/testprotos/grpc/test_grpc.pb.go b/internal/testprotos/grpc/test_grpc.pb.go index 123cddfb..5fe7dee9 100644 --- a/internal/testprotos/grpc/test_grpc.pb.go +++ b/internal/testprotos/grpc/test_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v3.19.0 +// - protoc v3.21.7 // source: grpc/test.proto package grpc diff --git a/internal/testprotos/make_protos.sh b/internal/testprotos/make_protos.sh index 02218010..6ff7bf68 100755 --- a/internal/testprotos/make_protos.sh +++ b/internal/testprotos/make_protos.sh @@ -4,7 +4,7 @@ set -e cd $(dirname $0) -PROTOC_VERSION="3.19.0" +PROTOC_VERSION="21.7" PROTOC_OS="$(uname -s)" PROTOC_ARCH="$(uname -m)" case "${PROTOC_OS}" in diff --git a/internal/testprotos/nopkg/desc_test_nopkg.pb.go b/internal/testprotos/nopkg/desc_test_nopkg.pb.go index f21b2077..25cee769 100644 --- a/internal/testprotos/nopkg/desc_test_nopkg.pb.go +++ b/internal/testprotos/nopkg/desc_test_nopkg.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.19.0 +// protoc v3.21.7 // source: nopkg/desc_test_nopkg.proto package nopkg diff --git a/internal/testprotos/nopkg/desc_test_nopkg_new.pb.go b/internal/testprotos/nopkg/desc_test_nopkg_new.pb.go index 2b14ac3b..0fbb244a 100644 --- a/internal/testprotos/nopkg/desc_test_nopkg_new.pb.go +++ b/internal/testprotos/nopkg/desc_test_nopkg_new.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.19.0 +// protoc v3.21.7 // source: nopkg/desc_test_nopkg_new.proto package nopkg diff --git a/internal/testprotos/pkg/desc_test_pkg.pb.go b/internal/testprotos/pkg/desc_test_pkg.pb.go index d99f4c47..b9798a01 100644 --- a/internal/testprotos/pkg/desc_test_pkg.pb.go +++ b/internal/testprotos/pkg/desc_test_pkg.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 -// protoc v3.19.0 +// protoc v3.21.7 // source: pkg/desc_test_pkg.proto package pkg diff --git a/internal/testprotos/proto3_optional/desc_test_proto3_optional.protoset b/internal/testprotos/proto3_optional/desc_test_proto3_optional.protoset index 5a3d8a42..b46af01b 100644 Binary files a/internal/testprotos/proto3_optional/desc_test_proto3_optional.protoset and b/internal/testprotos/proto3_optional/desc_test_proto3_optional.protoset differ