aboutsummaryrefslogtreecommitdiff
path: root/tests/functional/n/nonlocal_without_binding.py
blob: 22887bcee61e9460e44fc7a4c667fa57c663fccd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
""" Checks that reversed() receive proper argument """
# pylint: disable=missing-docstring,invalid-name,unused-variable, useless-object-inheritance
# pylint: disable=too-few-public-methods,no-self-use

def test():
    def parent():
        a = 42
        def stuff():
            nonlocal a

    c = 24
    def parent2():
        a = 42
        def stuff():
            def other_stuff():
                nonlocal a
                nonlocal c

b = 42
def func():
    def other_func():
        nonlocal b  # [nonlocal-without-binding]

class SomeClass(object):
    nonlocal x # [nonlocal-without-binding]

    def func(self):
        nonlocal some_attr # [nonlocal-without-binding]


def func2():
    nonlocal_ = None
    local = None

    class Class:

        nonlocal nonlocal_

        nonlocal_ = 1
        local = 1

    return local + nonlocal_