Skip to content

Commit 1ba02ca

Browse files
committed
Fix direct attribute assignment to newobject
and add test. Also resolves #336.
1 parent 39a066e commit 1ba02ca

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

src/future/types/newobject.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,5 +130,6 @@ def __native__(self):
130130
"""
131131
return object(self)
132132

133+
__slots__ = []
133134

134135
__all__ = ['newobject']

tests/test_future/test_object.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,16 @@ def __len__(self):
271271

272272
self.assertFalse(bool(FalseThing()))
273273

274+
def test_cannot_assign_new_attributes_to_object(self):
275+
"""
276+
New attributes cannot be assigned to object() instances in Python.
277+
The same should apply to newobject.
278+
"""
279+
from builtins import object
280+
281+
with self.assertRaises(AttributeError):
282+
object().arbitrary_attribute_name = True
283+
274284

275285
if __name__ == '__main__':
276286
unittest.main()

0 commit comments

Comments
 (0)