Skip to content

Commit

Permalink
Revert "F821: Fix false negatives in .py files when `from __future_…
Browse files Browse the repository at this point in the history
…_ import annotations` is active (#10362)"

This reverts commit 704fefc.
  • Loading branch information
AlexWaygood committed Mar 21, 2024
1 parent 5732931 commit c2104a6
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 41 deletions.
13 changes: 0 additions & 13 deletions crates/ruff_linter/resources/test/fixtures/pyflakes/F821_27.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,3 @@ class MyClass:
baz: MyClass
eggs = baz # Still invalid even when `__future__.annotations` are enabled
eggs = "baz" # always okay

# Forward references:
MaybeDStr: TypeAlias = Optional[DStr] # Still invalid even when `__future__.annotations` are enabled
MaybeDStr2: TypeAlias = Optional["DStr"] # always okay
DStr: TypeAlias = Union[D, str] # Still invalid even when `__future__.annotations` are enabled
DStr2: TypeAlias = Union["D", str] # always okay

class D: ...

# More circular references
class Leaf: ...
class Tree(list[Tree | Leaf]): ... # Still invalid even when `__future__.annotations` are enabled
class Tree2(list["Tree | Leaf"]): ... # always okay
1 change: 0 additions & 1 deletion crates/ruff_linter/src/checkers/ast/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -937,7 +937,6 @@ impl<'a> Visitor<'a> for Checker<'a> {
&& !self.semantic.in_deferred_type_definition()
&& self.semantic.in_type_definition()
&& self.semantic.future_annotations()
&& (self.semantic.in_typing_only_annotation() || self.source_type.is_stub())
{
if let Expr::StringLiteral(ast::ExprStringLiteral { value, .. }) = expr {
self.visit.string_type_definitions.push((
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,30 +17,3 @@ F821_27.py:34:8: F821 Undefined name `baz`
| ^^^ F821
35 | eggs = "baz" # always okay
|

F821_27.py:38:33: F821 Undefined name `DStr`
|
37 | # Forward references:
38 | MaybeDStr: TypeAlias = Optional[DStr] # Still invalid even when `__future__.annotations` are enabled
| ^^^^ F821
39 | MaybeDStr2: TypeAlias = Optional["DStr"] # always okay
40 | DStr: TypeAlias = Union[D, str] # Still invalid even when `__future__.annotations` are enabled
|

F821_27.py:40:25: F821 Undefined name `D`
|
38 | MaybeDStr: TypeAlias = Optional[DStr] # Still invalid even when `__future__.annotations` are enabled
39 | MaybeDStr2: TypeAlias = Optional["DStr"] # always okay
40 | DStr: TypeAlias = Union[D, str] # Still invalid even when `__future__.annotations` are enabled
| ^ F821
41 | DStr2: TypeAlias = Union["D", str] # always okay
|

F821_27.py:47:17: F821 Undefined name `Tree`
|
45 | # More circular references
46 | class Leaf: ...
47 | class Tree(list[Tree | Leaf]): ... # Still invalid even when `__future__.annotations` are enabled
| ^^^^ F821
48 | class Tree2(list["Tree | Leaf"]): ... # always okay
|

0 comments on commit c2104a6

Please sign in to comment.