With overloadable enums specifically, packages breaking the way they did was 
expected. I [made an issue](https://github.com/nim-lang/Nim/issues/20077) 
detailing the exact difference with no overloadable enums that breaks packages, 
then I [made an RFC](https://github.com/nim-lang/RFCs/issues/468) to deal with 
it, but it was decided that the behavior that comes with overloadable enums is 
better.

This behavior being that enum fields with the same name should be considered 
ambiguous regardless of which scope they are in (i.e. locally defined enums are 
not prioritized over enums in imports or higher scopes). The way to adapt 
packages to this is literally just to qualify enum fields. The error message 
for values with ambiguous types are pretty bad, but that doesn't change the 
fix, and that problem exists no matter what you do about overloadable enums.

Reply via email to