no mangling of double underscore names in class
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cython |
New
|
Undecided
|
Unassigned |
Bug Description
When defining a class attribute that starts with double underscores, CPython mangles the name from __bla to _classname_bla, but Cython produces classes don't.
Minimal example:
test.pyx and good.py are the same, like so:
class Test(object):
__bla = 1
alon@alfajor:
Python 2.5.2 (r252:60911, Feb 26 2008, 15:04:22)
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import test
>>> test.Test
<class 'test.Test'>
>>> test.Test.__bla
1
>>>
alon@alfajor:
alon@alfajor:
build setup.py test.c test.pyx test.so
alon@alfajor:
alon@alfajor:
Python 2.5.2 (r252:60911, Feb 26 2008, 15:04:22)
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import good
>>> good.Test
<class 'good.Test'>
>>> good.Test.__bla
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: type object 'Test' has no attribute '__bla'
>>> good.Test.
1
>>>