summaryrefslogtreecommitdiff
path: root/tests/run/set_new.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run/set_new.py')
-rw-r--r--tests/run/set_new.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/run/set_new.py b/tests/run/set_new.py
new file mode 100644
index 000000000..d1c2c4acb
--- /dev/null
+++ b/tests/run/set_new.py
@@ -0,0 +1,21 @@
+"""
+>>> X = make_class_with_new(cynew)
+>>> X.__new__ is cynew
+True
+>>> X().__new__ is cynew
+True
+>>> def pynew(cls): return object.__new__(cls)
+>>> X = make_class_with_new(pynew)
+>>> X.__new__ is pynew
+True
+>>> X().__new__ is pynew
+True
+"""
+
+def make_class_with_new(n):
+ class X(object):
+ __new__ = n
+ return X
+
+def cynew(cls):
+ return object.__new__(cls)