Skip to content

Commit 433f24e

Browse files
committed
Fix attr_exceptions list
1 parent 6f4c9fc commit 433f24e

File tree

2 files changed

+6
-30
lines changed

2 files changed

+6
-30
lines changed

Lib/test/test_typing.py

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2220,8 +2220,6 @@ class B(metaclass=UnhashableMeta): ...
22202220
with self.assertRaises(TypeError):
22212221
hash(union3)
22222222

2223-
# TODO: RUSTPYTHON
2224-
@unittest.expectedFailure
22252223
def test_repr(self):
22262224
self.assertEqual(repr(Union), 'typing.Union')
22272225
u = Union[Employee, int]
@@ -2389,8 +2387,6 @@ def test_tuple_instance_type_error(self):
23892387
isinstance((0, 0), Tuple[int, int])
23902388
self.assertIsInstance((0, 0), Tuple)
23912389

2392-
# TODO: RUSTPYTHON
2393-
@unittest.expectedFailure
23942390
def test_repr(self):
23952391
self.assertEqual(repr(Tuple), 'typing.Tuple')
23962392
self.assertEqual(repr(Tuple[()]), 'typing.Tuple[()]')
@@ -2472,8 +2468,6 @@ def f():
24722468
with self.assertRaises(TypeError):
24732469
isinstance(None, Callable[[], Any])
24742470

2475-
# TODO: RUSTPYTHON
2476-
@unittest.expectedFailure
24772471
def test_repr(self):
24782472
Callable = self.Callable
24792473
fullname = f'{Callable.__module__}.Callable'
@@ -2717,11 +2711,6 @@ def test_errors(self):
27172711
class TypingCallableTests(BaseCallableTests, BaseTestCase):
27182712
Callable = typing.Callable
27192713

2720-
# TODO: RUSTPYTHON
2721-
@unittest.expectedFailure
2722-
def test_var_substitution(self):
2723-
super().test_var_substitution()
2724-
27252714
def test_consistency(self):
27262715
# bpo-42195
27272716
# Testing collections.abc.Callable's consistency with typing.Callable
@@ -3554,8 +3543,6 @@ def __init__(self, x: T) -> None:
35543543

35553544
class GenericTests(BaseTestCase):
35563545

3557-
# TODO: RUSTPYTHON
3558-
@unittest.expectedFailure
35593546
def test_basics(self):
35603547
X = SimpleMapping[str, Any]
35613548
self.assertEqual(X.__parameters__, ())
@@ -3602,8 +3589,6 @@ class D(Generic[T]): pass
36023589
with self.assertRaises(TypeError):
36033590
D[()]
36043591

3605-
# TODO: RUSTPYTHON
3606-
@unittest.expectedFailure
36073592
def test_generic_subclass_checks(self):
36083593
for typ in [list[int], List[int],
36093594
tuple[int, str], Tuple[int, str],
@@ -4515,8 +4500,6 @@ class A(typing.Sized, list[int]): ...
45154500
(A, collections.abc.Sized, Generic, list, object),
45164501
)
45174502

4518-
# TODO: RUSTPYTHON
4519-
@unittest.expectedFailure
45204503
def test_multiple_inheritance_with_genericalias_2(self):
45214504
T = TypeVar("T")
45224505

@@ -4840,8 +4823,6 @@ def test_basics(self):
48404823
with self.assertRaises(TypeError):
48414824
Optional[Final[int]]
48424825

4843-
# TODO: RUSTPYTHON
4844-
@unittest.expectedFailure
48454826
def test_repr(self):
48464827
self.assertEqual(repr(Final), 'typing.Final')
48474828
cv = Final[int]
@@ -6500,8 +6481,6 @@ def test_frozenset(self):
65006481
def test_dict(self):
65016482
self.assertIsSubclass(dict, typing.Dict)
65026483

6503-
# TODO: RUSTPYTHON
6504-
@unittest.expectedFailure
65056484
def test_dict_subscribe(self):
65066485
K = TypeVar('K')
65076486
V = TypeVar('V')
@@ -6706,8 +6685,6 @@ def test_no_async_generator_instantiation(self):
67066685
with self.assertRaises(TypeError):
67076686
typing.AsyncGenerator[int, int]()
67086687

6709-
# TODO: RUSTPYTHON
6710-
@unittest.expectedFailure
67116688
def test_subclassing(self):
67126689

67136690
class MMA(typing.MutableMapping):
@@ -7736,8 +7713,6 @@ class ChildWithInlineAndOptional(Untotal, Inline):
77367713
class Wrong(*bases):
77377714
pass
77387715

7739-
# TODO: RUSTPYTHON
7740-
@unittest.expectedFailure
77417716
def test_is_typeddict(self):
77427717
self.assertIs(is_typeddict(Point2D), True)
77437718
self.assertIs(is_typeddict(Union[str, int]), False)
@@ -9270,8 +9245,6 @@ def foo(arg) -> TypeGuard[int]: ...
92709245
with self.assertRaises(TypeError):
92719246
TypeGuard[int, str]
92729247

9273-
# TODO: RUSTPYTHON
9274-
@unittest.expectedFailure
92759248
def test_repr(self):
92769249
self.assertEqual(repr(TypeGuard), 'typing.TypeGuard')
92779250
cv = TypeGuard[int]
@@ -9322,8 +9295,6 @@ def foo(arg) -> TypeIs[int]: ...
93229295
with self.assertRaises(TypeError):
93239296
TypeIs[int, str]
93249297

9325-
# TODO: RUSTPYTHON
9326-
@unittest.expectedFailure
93279298
def test_repr(self):
93289299
self.assertEqual(repr(TypeIs), 'typing.TypeIs')
93299300
cv = TypeIs[int]

vm/src/builtins/genericalias.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,15 @@ use crate::{
1717
};
1818
use std::fmt;
1919

20-
static ATTR_EXCEPTIONS: [&str; 8] = [
20+
// attr_exceptions
21+
static ATTR_EXCEPTIONS: [&str; 12] = [
22+
"__class__",
23+
"__bases__",
2124
"__origin__",
2225
"__args__",
26+
"__unpacked__",
2327
"__parameters__",
28+
"__typing_unpacked_tuple_args__",
2429
"__mro_entries__",
2530
"__reduce_ex__", // needed so we don't look up object.__reduce_ex__
2631
"__reduce__",

0 commit comments

Comments
 (0)