summaryrefslogtreecommitdiff
path: root/tests/run/set_new.py
blob: d1c2c4acbdf6847358e8c0ae9d2a8ab98d865cd2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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)