slachiewicz commented on PR #3778: URL: https://github.com/apache/thrift/pull/3778#issuecomment-5505961067
A real-world IDL that hits this: Apache Hive's `hive_metastore.thrift` (tag `rel/release-4.2.1`) declares `SkewedInfo.skewedColValueLocationMaps` as `map<list<string>, string>`, and the released Go generator aborts on the whole file: ``` [FAILURE:generation:1] Error: Cannot produce a valid type for a Go map key: []string - aborting. ``` A pure-Go metastore client currently has to strip that field from the IDL before generating. With this branch's compiler the pristine IDL generates, and the field becomes `[]thrift.MapEntry[[]string, string]`. Verified: `thrift -r --gen go -out gen hive_metastore.thrift` (built from this PR's head) → exit 0; `go build ./gen/...` against this branch's `lib/go` → clean. The only other thing that keeps that IDL from building for Go is unrelated to this change: three fields literally named `isSetQueryParallelism`, `isSetDefaultPoolPath` and `isSetSchedulingPolicy` collide with the generated `IsSetX()` accessors. I will file that separately. *This comment 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]
