slachiewicz opened a new pull request, #3778:
URL: https://github.com/apache/thrift/pull/3778

   Go maps cannot be keyed by a slice or a map, so the Go generator aborted on 
any thrift `map` keyed by a `list`, `set`, `map`, or a typedef of one of those. 
This change generates such fields as `[]thrift.MapEntry[K, V]`, a slice of 
key/value pairs written to the wire in slice order. Key uniqueness is not 
enforced, which matches how thrift sets are already represented as slices in 
Go. Maps whose keys were already representable keep their current Go type, so 
existing generated code is unchanged.
   
   The Go test Makefiles no longer strip `CrazyNesting.list_field` from 
`ThriftTest.thrift`, and the cross-test client, server and stress binaries 
build against the full IDL. Struct-keyed maps still generate as `map[*K]V`; 
changing that is left for a separate ticket because it alters working output.
   
   Verified: `go test ./gopath/src/tests ./gopath/src/dontexportrwtest` in 
lib/go/test and `go test ./...` in lib/go/thrift → ok; `go build`/`go vet` on 
all generated test packages → clean.
   
   - [x] Did you create an [Apache 
Jira](https://issues.apache.org/jira/projects/THRIFT/issues/) ticket?
   - [x] If a ticket exists: Does your pull request title follow the pattern 
"THRIFT-NNNN: describe my issue"?
   - [x] Did you squash your changes to a single commit?
   - [x] Did you do your best to avoid breaking changes?
   - [ ] If your change does not involve any code, include `[skip ci]` anywhere 
in the commit message to free up build resources.
   
   *This change was created with AI assistance.*
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to