Skip to content

Local annotation turns local variables in cells #130924

Description

@markshannon

Bug report

Bug description:

Compiling this function

def f(x):
    a:x
    return x

Gives this bytecode:

  --           MAKE_CELL                0 (x)

   1           RESUME                   0

   3           LOAD_DEREF               0 (x)
               RETURN_VALUE

Local variable annotations are supposed to be ignored by Python (they are used by static type checkers only),
so the addition of the annotation should not change the generated code.
The expected disassembly:

   1           RESUME                   0

   3           LOAD_LAST                0 (x)
               RETURN_VALUE

CPython versions tested on:

CPython main branch

Operating systems tested on:

No response

Linked PRs

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

interpreter-core(Objects, Python, Grammar, and Parser dirs)type-bugAn unexpected behavior, bug, or error

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions