Comments (7)
Original comment by icordasc (@sigmavirus24?) on Launchpad:
I couldn't reproduce this with the attached file.
from pyflakes.
Original comment by bistromathic1 on Launchpad:
This problem seems to occur when a dummy variable name in a generator expression, a dict comprehension, or a set comprehension is then reused in a list comprehension, for example:
a = [1, 2, 3, 4, 5, 6]
b = (i + 1 for i in a)
c = [i + 2 for i in b]
print(c)
The pyflakes output is:
test-1.py:4: list comprehension redefines 'i' from line 3
I only tried this in python 3.2.
from pyflakes.
Original comment by florent.x (@florentx?) on Launchpad:
actually, this should not report redefinition of variable for:
- generator expressions
- dict comprehensions
- set comprehensions
Only the list comprehension leaks its variable, and only with Python 2.x.
(Though we'll keep reporting the warning for 3.x as well)
from pyflakes.
Original comment by florent.x (@florentx?) on Launchpad:
This should fix it.
https://code.launchpad.net/~pyflakes-dev/pyflakes/1112067-comprehension-scope/+merge/147264
from pyflakes.
Original comment by danken on Launchpad:
I'm not sure it's the very same bug, but pylakes 0.6.1 (python 2.7.3) considers the following as having a redefinition of x:
if False:
x = 1
else:
[x for x in [1]]
from pyflakes.
Original comment by florent.x (@florentx?) on Launchpad:
I'm not sure it's the very same bug, but pylakes 0.6.1 (python 2.7.3) considers the following as having a redefinition of x:
if False:
x = 1
else:
[x for x in [1]]
this last one is a different bug, it should be reported separately.
from pyflakes.
Original comment by florent.x (@florentx?) on Launchpad:
The fix for this second bug was added to the same branch:
https://code.launchpad.net/~pyflakes-dev/pyflakes/1112067-comprehension-scope/+merge/147264
from pyflakes.
Related Issues (20)
- Errors should be generated for "illegal" accesses to module-level variables with leading double underscores HOT 2
- F821 with Annotated import alias HOT 1
- f-string like f"{foo = }" is detected as an error HOT 1
- Feature request: a rule for calling super().__init__() in custom exception's __init__() HOT 1
- undefined name/syntax error in forward annotation HOT 2
- Use setuptools.build_meta HOT 1
- pyflakes: Does not consider legacy type annotations for "usedness" of imports HOT 2
- F811 redefinition of unused '_' - should underscore be excluded? HOT 1
- Spurious F811 when a method in a class overrides an "unused import" HOT 1
- F821 for PEP695 ParamSpec HOT 3
- Docu: What does pyflake checks for? HOT 2
- False Positive: walrus in a list comprehension HOT 6
- E704 false positives with one line overload def HOT 1
- False-positive F811 HOT 1
- False positive F841 and F821 HOT 5
- pyflakes misses an undefined variable (F821) when a variable is defined in an outer scope, but not in time HOT 4
- Python 3.12: SyntaxError: source code string cannot contain null bytes HOT 2
- F821 undefined name 'something' when using __getitem__ HOT 9
- import * 误报的问题 The issue of import * false positives HOT 1
- Python 3.13.0b1: test_errors_syntax fail because of a changed error message HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyflakes.