Skip to content

Reusing variable previously defined with walrus operator triggers used-before-def error #14626

Closed
@goldenfire6

Description

@goldenfire6

To Reproduce

x = 3
z = (y := str(x)).index(y.lower())

Expected Behavior

Should be no errors -- this code does not error using mypy v0.991 or prior, so this seems to be a new issue with v1.0.0.

Actual Behavior

error: Name "y" is used before definition [used-before-def]

Your Environment

  • Mypy version used: 1.0.0
  • Mypy command-line flags: none
  • Python version used: 3.9

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions