While trying to compile Go bindings generated by wit-bindgen 0.61.1 for https://github.com/Pumpkin-MC/pumpkin-plugin-wit, I've run into issues with symbol conflicts. I've noticed two major categories:
variant my-variant {
tag
}
A variant with member tag will generate a getter Tag conflicting with the internal Tag (discriminator) of the variant itself.
record my-variant-item {
// ...
}
variant my-variant {
item(my-variant-item),
}
Having a record XY conflicts with the enum member produced for the tag for a variant X with case Y.
While trying to compile Go bindings generated by
wit-bindgen0.61.1for https://github.com/Pumpkin-MC/pumpkin-plugin-wit, I've run into issues with symbol conflicts. I've noticed two major categories:variant my-variant { tag }A variant with member
tagwill generate a getterTagconflicting with the internalTag(discriminator) of the variant itself.record my-variant-item { // ... } variant my-variant { item(my-variant-item), }Having a record
XYconflicts with the enum member produced for the tag for a variantXwith caseY.