summaryrefslogtreecommitdiff
path: root/tests/cpydiff/core_locals_eval.py
blob: 3f6ad2a1dbbc6801f1f2ef2126cad000c124f8e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
"""
categories: Core,Runtime
description: Code running in eval() function doesn't have access to local variables
cause: MicroPython doesn't maintain symbolic local environment, it is optimized to an array of slots. Thus, local variables can't be accessed by a name. Effectively, ``eval(expr)`` in MicroPython is equivalent to ``eval(expr, globals(), globals())``.
workaround: Unknown
"""

val = 1


def test():
    val = 2
    print(val)
    eval("print(val)")


test()