Skip to content

Commit 524eb96

Browse files
committed
fix panic
1 parent c61e823 commit 524eb96

File tree

2 files changed

+35
-16
lines changed

2 files changed

+35
-16
lines changed

Lib/test/test_typing.py

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4231,6 +4231,8 @@ class MyChain(typing.ChainMap[str, T]): ...
42314231
self.assertIs(MyChain[int]().__class__, MyChain)
42324232
self.assertEqual(MyChain[int]().__orig_class__, MyChain[int])
42334233

4234+
# TODO: RUSTPYTHON
4235+
@unittest.expectedFailure
42344236
def test_all_repr_eq_any(self):
42354237
objs = (getattr(typing, el) for el in typing.__all__)
42364238
for obj in objs:
@@ -5014,6 +5016,8 @@ def cached(self): ...
50145016

50155017

50165018
class OverrideDecoratorTests(BaseTestCase):
5019+
# TODO: RUSTPYTHON
5020+
@unittest.expectedFailure
50175021
def test_override(self):
50185022
class Base:
50195023
def normal_method(self): ...
@@ -5072,6 +5076,8 @@ def static_method_bad_order():
50725076
self.assertIs(False, hasattr(Base.static_method_good_order, "__override__"))
50735077
self.assertIs(False, hasattr(Base.static_method_bad_order, "__override__"))
50745078

5079+
# TODO: RUSTPYTHON
5080+
@unittest.expectedFailure
50755081
def test_property(self):
50765082
class Base:
50775083
@property
@@ -5098,6 +5104,8 @@ def wrong(self) -> int:
50985104
self.assertFalse(hasattr(Child.wrong, "__override__"))
50995105
self.assertFalse(hasattr(Child.wrong.fset, "__override__"))
51005106

5107+
# TODO: RUSTPYTHON
5108+
@unittest.expectedFailure
51015109
def test_silent_failure(self):
51025110
class CustomProp:
51035111
__slots__ = ('fget',)
@@ -5115,6 +5123,8 @@ def some(self):
51155123
self.assertEqual(WithOverride.some, 1)
51165124
self.assertFalse(hasattr(WithOverride.some, "__override__"))
51175125

5126+
# TODO: RUSTPYTHON
5127+
@unittest.expectedFailure
51185128
def test_multiple_decorators(self):
51195129
def with_wraps(f): # similar to `lru_cache` definition
51205130
@wraps(f)
@@ -5948,9 +5958,10 @@ class WeirdlyQuotedMovie(TypedDict):
59485958
title: Annotated['Annotated[Required[str], "foobar"]', "another level"]
59495959
year: NotRequired['Annotated[int, 2000]']
59505960

5951-
class HasForeignBaseClass(mod_generics_cache.A):
5952-
some_xrepr: 'XRepr'
5953-
other_a: 'mod_generics_cache.A'
5961+
# TODO: RUSTPYTHON
5962+
# class HasForeignBaseClass(mod_generics_cache.A):
5963+
# some_xrepr: 'XRepr'
5964+
# other_a: 'mod_generics_cache.A'
59545965

59555966
async def g_with(am: typing.AsyncContextManager[int]):
59565967
x: int
@@ -6927,6 +6938,8 @@ def test_contextmanager_type_params(self):
69276938
type gen_cm[T1, T2] = typing.ContextManager[T1, T2]
69286939
self.assertEqual(get_args(gen_cm.__value__[int, None]), (int, types.NoneType))
69296940

6941+
# TODO: RUSTPYTHON
6942+
@unittest.expectedFailure
69306943
def test_async_contextmanager(self):
69316944
class NotACM:
69326945
pass
@@ -6944,6 +6957,8 @@ def manager():
69446957
with self.assertRaises(TypeError):
69456958
typing.AsyncContextManager[int, str, float]
69466959

6960+
# TODO: RUSTPYTHON
6961+
@unittest.expectedFailure
69476962
def test_asynccontextmanager_type_params(self):
69486963
cm1 = typing.AsyncContextManager[int]
69496964
self.assertEqual(get_args(cm1), (int, bool | None))
@@ -9814,6 +9829,8 @@ def test_all(self):
98149829
self.assertIn('SupportsBytes', a)
98159830
self.assertIn('SupportsComplex', a)
98169831

9832+
# TODO: RUSTPYTHON
9833+
@unittest.expectedFailure
98179834
def test_all_exported_names(self):
98189835
# ensure all dynamically created objects are actualised
98199836
for name in typing.__all__:

Lib/test/typinganndata/mod_generics_cache.py

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,25 @@
22

33
from typing import TypeVar, Generic, Optional, TypeAliasType
44

5-
default_a: Optional['A'] = None
6-
default_b: Optional['B'] = None
5+
# TODO: RUSTPYTHON
76

8-
T = TypeVar('T')
7+
# default_a: Optional['A'] = None
8+
# default_b: Optional['B'] = None
99

10+
# T = TypeVar('T')
1011

11-
class A(Generic[T]):
12-
some_b: 'B'
1312

13+
# class A(Generic[T]):
14+
# some_b: 'B'
1415

15-
class B(Generic[T]):
16-
class A(Generic[T]):
17-
pass
1816

19-
my_inner_a1: 'B.A'
20-
my_inner_a2: A
21-
my_outer_a: 'A' # unless somebody calls get_type_hints with localns=B.__dict__
17+
# class B(Generic[T]):
18+
# class A(Generic[T]):
19+
# pass
2220

23-
type Alias = int
24-
OldStyle = TypeAliasType("OldStyle", int)
21+
# my_inner_a1: 'B.A'
22+
# my_inner_a2: A
23+
# my_outer_a: 'A' # unless somebody calls get_type_hints with localns=B.__dict__
24+
25+
# type Alias = int
26+
# OldStyle = TypeAliasType("OldStyle", int)

0 commit comments

Comments
 (0)