summaryrefslogtreecommitdiffstats
path: root/Misc/NEWS
diff options
context:
space:
mode:
Diffstat (limited to 'Misc/NEWS')
-rw-r--r--Misc/NEWS17
1 files changed, 8 insertions, 9 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index b10f440..1e95283 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -4,15 +4,14 @@ Release date: 28-Sep-2100
Type/class unification and new-style classes
-- New-style classes are now dynamic by default. Previous, they were
- static (meaning class attributes could not be assigned to) and
- dynamic classes had to be requested by adding __dynamic__ = 1 to the
- body of the class or to the module. Static classes are faster than
- dynamic classes, but dynamic classes are now at most 50% slower than
- static classes; previously, they could be up to 10x slower. (This
- was accomplished by making dynamic classes faster, not by making
- static classes slower. :-) Note that according to one benchmark,
- static classes are about the same speed as classic classes.
+- New-style classes are now always dynamic (except for built-in and
+ extension types). There was no longer a performance penalty, and I
+ no longer see another reason to keep this baggage around. One relic
+ remains: the __dict__ or a new-style class is a read-only proxy.
+ You must set the class's attribute to modify. As a consequence, the
+ __defined__ attribute of new-style types no longer exists, for lack
+ of need: there is once again only one __dict__ (although in the
+ future a __cache__ may be resurrected in its place).
- C.__doc__ now works as expected for new-style classes (in 2.2a4 it
always returned None, even when there was a class docstring).