You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Changing arguments from positional to keyword-only is a breaking change in Python (which is why it is better to introduce any new argument as keyword-only, and relax later...) Because of the way nMigen reuses classes, there are probably some constructors that were broken when arguments changed type, moved, or were renamed. It is necessary to manually audit all such cases and add compat shims, either like it was done in 89c4b3d, or using a more elegant approach.
The text was updated successfully, but these errors were encountered:
It's not clear how to actually do this. Using a function to adjust argument syntax breaks isinstance; using inheritance for the same task makes transforms slower, and they're already slow. This doesn't seem to cause any issues acutely, so let's punt on it for now.
Because we already use inheritance for this in many cases in nmigen.compat, I think it's fine to continue doing that. Any alternatives are very laborous and don't seem to bring any actual benefit, given that it is easy to adjust either downstream code, or nmigen.compat code, should any incompatibility appear.
Changing arguments from positional to keyword-only is a breaking change in Python (which is why it is better to introduce any new argument as keyword-only, and relax later...) Because of the way nMigen reuses classes, there are probably some constructors that were broken when arguments changed type, moved, or were renamed. It is necessary to manually audit all such cases and add compat shims, either like it was done in 89c4b3d, or using a more elegant approach.
The text was updated successfully, but these errors were encountered: