Hi, When a class is defined within a function, the class generation function's '__qualname__' attrbute is not qualified a name.
For instance: def test(): class T: def method(self): pass t = T() t.method() When tracing a call to 'test()' using 'sys.settrace()', extracting the 'code' object from the frames of 'call' events and matching it to a 'function' object (using 'gc.get_referrers()') results in the following: 'code' object 'function' object ---------------- ------------------------------------ co_name: test __qualname__: test co_name: T __qualname__: T co_name: method __qualname__: test.<locals>.T.method The second call corresponds to the class definition and not the call to the constructor (which is in fact a call to 'object.__init__', a C function hence not traced as a 'call' event - I checked this by disassembling the code object). I would expect the second call's '__qualname__' to be 'test.<locals>.T'. Can this be considered a bug? If so, I'll open one. -- isedev -- https://mail.python.org/mailman/listinfo/python-list