def Fun():
    pass

class A:
    def __init__(self):
        pass
    def Fun(self):
        pass

try:
    print(Fun.__name__)
    print(A.__init__.__name__)
    print(A.Fun.__name__)
    print(A().Fun.__name__)
except AttributeError:
    print('SKIP')
    raise SystemExit

# __name__ of a bound native method is not implemented in uPy
# the test here is to make sure it doesn't crash
try:
    str((1).to_bytes.__name__)
except AttributeError:
    pass

@@ -441,16 +441,165 @@
 Error:%0A    pass%0A
+%0A# name of a function that has closed over variables%0Adef outer():%0A    x = 1%0A    def inner():%0A        return x%0A    return inner%0Aprint(outer.__name__)%0A

Add test for getting name of func with closed over locals.