Skip to content

FrameLocalsProxy does not support .update(iterable) #136308

Open

Description

@limwz01

Bug report

Bug description:

import inspect
def main():
    ls = inspect.currentframe().f_locals
    ls.update([("a", 0)])
main()

The above works in Python 3.12 but fails in Python 3.13 with:

TypeError: update() argument must be dict or another FrameLocalsProxy

CPython versions tested on:

3.13

Operating systems tested on:

Linux

Activity

  1. added
    type-bugAn unexpected behavior, bug, or error
    on Jul 5, 2025
  2. gaogaotiantian commented on Jul 5, 2025

    @gaogaotiantian
    Member

    I guess we can avoid duplicating code by creating a dict from the update args first and merge. We never cared too much about the performance of FrameLocalsProxy. I'll work on this.

  3. added
    stdlibStandard Library Python modules in the Lib/ directory
    on Jul 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

stdlibStandard Library Python modules in the Lib/ directorytype-bugAn unexpected behavior, bug, or error

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions