Message87574
when declaring a abstract base class with an abstract property or method
and subclassing from dict, the class is instantiable (instanceable?).
>>> import abc
>>> class A(object):
... __metaclass__ = abc.ABCMeta
... @abc.abstractproperty
... def abstract(self): return True
...
>>> a = A()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Can't instantiate abstract class A with abstract methods abstract
>>>
>>> class A2(dict):
... __metaclass__ = abc.ABCMeta
... @abc.abstractproperty
... def abstract(self): return True
...
>>> a2 = A2()
>>>
although, when using the dict definition from __builtin__.pi directly,
the abc behaves like expected. but this may be a bug in the
c-implementation from dict.
platform:
Python 2.6.2 (r262:71600, Apr 25 2009, 21:56:41)
[GCC 4.3.2] on linux2 |
|
Date |
User |
Action |
Args |
2009-05-11 14:06:03 | thet | set | recipients:
+ thet |
2009-05-11 14:06:03 | thet | set | messageid: <1242050763.07.0.145569961651.issue5996@psf.upfronthosting.co.za> |
2009-05-11 14:06:01 | thet | link | issue5996 messages |
2009-05-11 14:06:00 | thet | create | |
|