bufdev

Results 107 comments of bufdev

OK I isolated it: Options file: ```proto // internal/options/options.go syntax = "proto3"; import "google/protobuf/descriptor.proto"; package internal.options; message Foo { string primitive = 1; string another_primitive = 2; } extend google.protobuf.FieldOptions...

I think the issue is here: https://github.com/jhump/protoreflect/blob/master/desc/protoparse/options.go#L1277 - I think instead of always creating a new message, you need to see if one already exists. But I might be reading...

I committed the test so you can reproduce it: https://github.com/pedgeio/goprotoctest/blob/74d991ee9dc6c4e1011d734aab1799079f196a54/internal/goprotoctest/goprotoctest_test.go#L59 The files are at: https://github.com/pedgeio/goprotoctest/blob/74d991ee9dc6c4e1011d734aab1799079f196a54/internal/goprotoctest/testdata/internal/options/options.proto https://github.com/pedgeio/goprotoctest/blob/74d991ee9dc6c4e1011d734aab1799079f196a54/internal/goprotoctest/testdata/field-options/foo.proto

The only differences immediately apparent to me there are: - The option is declared in the same file in `desc_test_complex.proto` (but this is likely OK)\ - The option is a...

Re: our offline conversation, I went to test this out, and unfortunately I don't have the best news. What I did: I produced binary FileDescriptorSets with both `goprotoc` and `protoc`...

Yep I edited the issue, the third one is OK :-) The second one I do not think is ok - if you have: ```proto message Foo { int64 one...

Those two are not considered different yes, but case 2 above is - it has a different value, unless I'm missing something. It appears to be a null message, not...

Ah I was missing something :-) This probably falls into the same category as case 3 then, where it would be nice to match `protoc` completely, but case 1 and...

I fixed this over on Buf - do you want to close this issue?

I would not support this personally - I outlawed this in Prototool for a reason, basically long-form `go_package` values really mess with generated code and enforce the creation of sub-directories...