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
This is much less important than the last bug, but I had an issue with the workaround in the code. (This will probably never come up for anyone else, because I'm doing something unusual: using the old pure Python compiler module, not the CPython compile.c).
I think the way I am doing it is slightly simpler though. Since you are constructing callargs = {'.0': args[0]} anyway, I think you can just check if there is one arg and it is called .0. The name is ignored for LOAD_FAST in favor of the index (lookup by number rather than name), but the name is still emitted.
- if PY2 and self.func_name in ["<setcomp>", "<dictcomp>", "<genexpr>"]:
+ # Different workaround for issue 19611 that works with
+ # compiler2-generated code. Note that byterun does not use fastlocals,
+ # so the name matters. With fastlocals, the co_varnames entry is just
+ # a comment; the index is used instead.
+ code = self.func_code
+ if code.co_argcount == 1 and code.co_varnames[0] == '.0':
The text was updated successfully, but these errors were encountered:
This is much less important than the last bug, but I had an issue with the workaround in the code. (This will probably never come up for anyone else, because I'm doing something unusual: using the old pure Python compiler module, not the CPython compile.c).
I think the way I am doing it is slightly simpler though. Since you are constructing
callargs = {'.0': args[0]}
anyway, I think you can just check if there is one arg and it is called.0
. The name is ignored forLOAD_FAST
in favor of the index (lookup by number rather than name), but the name is still emitted.oils-for-unix/oils@65a504d#diff-702be8382fafa67a707b89a317abc246
The text was updated successfully, but these errors were encountered: