mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Add tests about matching __slots__ against structural type (PY-29233)
This commit is contained in:
+22
-1
@@ -2,8 +2,29 @@ class A(object):
|
||||
__slots__ = 'x', 'y'
|
||||
|
||||
|
||||
class B(object):
|
||||
__slots__ = ['x']
|
||||
|
||||
class C(B):
|
||||
pass
|
||||
|
||||
|
||||
class D(object):
|
||||
pass
|
||||
|
||||
class E(D):
|
||||
__slots__ = ['x']
|
||||
|
||||
|
||||
class F:
|
||||
__slots__ = ['x']
|
||||
|
||||
|
||||
def copy_values(a):
|
||||
print(a.x)
|
||||
|
||||
|
||||
copy_values(A())
|
||||
copy_values(A())
|
||||
copy_values(C())
|
||||
copy_values(E())
|
||||
copy_values(<warning descr="Type 'D' doesn't have expected attribute 'x'">D()</warning>)
|
||||
Reference in New Issue
Block a user