bpo-46644: Remove callable() requirement from typing._type_check (GH-… · python/cpython@870b22b (original) (raw)

`@@ -345,7 +345,7 @@ def test_cannot_instantiate_vars(self):

`

345

345

``

346

346

`def test_bound_errors(self):

`

347

347

`with self.assertRaises(TypeError):

`

348

``

`-

TypeVar('X', bound=42)

`

``

348

`+

TypeVar('X', bound=Union)

`

349

349

`with self.assertRaises(TypeError):

`

350

350

`TypeVar('X', str, float, bound=Employee)

`

351

351

``

`@@ -2591,9 +2591,6 @@ def test_extended_generic_rules_eq(self):

`

2591

2591

`class Base: ...

`

2592

2592

`class Derived(Base): ...

`

2593

2593

`self.assertEqual(Union[T, Base][Union[Base, Derived]], Union[Base, Derived])

`

2594

``

`-

with self.assertRaises(TypeError):

`

2595

``

`-

Union[T, int][1]

`

2596

``

-

2597

2594

`self.assertEqual(Callable[[T], T][KT], Callable[[KT], KT])

`

2598

2595

`self.assertEqual(Callable[..., List[T]][int], Callable[..., List[int]])

`

2599

2596

``

`@@ -3136,8 +3133,6 @@ class Foo(obj):

`

3136

3133

`class ClassVarTests(BaseTestCase):

`

3137

3134

``

3138

3135

`def test_basics(self):

`

3139

``

`-

with self.assertRaises(TypeError):

`

3140

``

`-

ClassVar[1]

`

3141

3136

`with self.assertRaises(TypeError):

`

3142

3137

`ClassVar[int, str]

`

3143

3138

`with self.assertRaises(TypeError):

`

`@@ -3176,8 +3171,6 @@ class FinalTests(BaseTestCase):

`

3176

3171

``

3177

3172

`def test_basics(self):

`

3178

3173

`Final[int] # OK

`

3179

``

`-

with self.assertRaises(TypeError):

`

3180

``

`-

Final[1]

`

3181

3174

`with self.assertRaises(TypeError):

`

3182

3175

`Final[int, str]

`

3183

3176

`with self.assertRaises(TypeError):

`

`@@ -3591,14 +3584,6 @@ def foo(a: 'Node[T'):

`

3591

3584

`with self.assertRaises(SyntaxError):

`

3592

3585

`get_type_hints(foo)

`

3593

3586

``

3594

``

`-

def test_type_error(self):

`

3595

``

-

3596

``

`-

def foo(a: Tuple['42']):

`

3597

``

`-

pass

`

3598

``

-

3599

``

`-

with self.assertRaises(TypeError):

`

3600

``

`-

get_type_hints(foo)

`

3601

``

-

3602

3587

`def test_name_error(self):

`

3603

3588

``

3604

3589

`def foo(a: 'Noode[T]'):

`

`@@ -5011,8 +4996,6 @@ def test_namedtuple_keyword_usage(self):

`

5011

4996

`self.assertEqual(LocalEmployee.annotations, dict(name=str, age=int))

`

5012

4997

`with self.assertRaises(TypeError):

`

5013

4998

`NamedTuple('Name', [('x', int)], y=str)

`

5014

``

`-

with self.assertRaises(TypeError):

`

5015

``

`-

NamedTuple('Name', x=1, y='a')

`

5016

4999

``

5017

5000

`def test_namedtuple_special_keyword_names(self):

`

5018

5001

`NT = NamedTuple("NT", cls=type, self=object, typename=str, fields=list)

`

`@@ -5048,8 +5031,6 @@ def test_namedtuple_errors(self):

`

5048

5031

`NamedTuple('Emp', [('_name', str)])

`

5049

5032

`with self.assertRaises(TypeError):

`

5050

5033

`NamedTuple(typename='Emp', name=str, id=int)

`

5051

``

`-

with self.assertRaises(TypeError):

`

5052

``

`-

NamedTuple('Emp', fields=[('name', str), ('id', int)])

`

5053

5034

``

5054

5035

`def test_copy_and_pickle(self):

`

5055

5036

`global Emp # pickle wants to reference the class by name

`

`@@ -5124,7 +5105,6 @@ def test_typeddict_create_errors(self):

`

5124

5105

`TypedDict()

`

5125

5106

`with self.assertRaises(TypeError):

`

5126

5107

`TypedDict('Emp', [('name', str)], None)

`

5127

``

-

5128

5108

`with self.assertRaises(TypeError):

`

5129

5109

`TypedDict(_typename='Emp', name=str, id=int)

`

5130

5110

``

`@@ -5138,13 +5118,6 @@ def test_typeddict_errors(self):

`

5138

5118

`isinstance(jim, Emp)

`

5139

5119

`with self.assertRaises(TypeError):

`

5140

5120

`issubclass(dict, Emp)

`

5141

``

`-

We raise a DeprecationWarning for the keyword syntax

`

5142

``

`-

before the TypeError.

`

5143

``

`-

with self.assertWarns(DeprecationWarning):

`

5144

``

`-

with self.assertRaises(TypeError):

`

5145

``

`-

TypedDict('Hi', x=1)

`

5146

``

`-

with self.assertRaises(TypeError):

`

5147

``

`-

TypedDict('Hi', [('x', int), ('y', 1)])

`

5148

5121

`with self.assertRaises(TypeError):

`

5149

5122

`TypedDict('Hi', [('x', int)], y=int)

`

5150

5123

``

`@@ -5916,6 +5889,9 @@ def test_basics(self):

`

5916

5889

`def foo(arg) -> TypeGuard[int]: ...

`

5917

5890

`self.assertEqual(gth(foo), {'return': TypeGuard[int]})

`

5918

5891

``

``

5892

`+

with self.assertRaises(TypeError):

`

``

5893

`+

TypeGuard[int, str]

`

``

5894

+

5919

5895

`def test_repr(self):

`

5920

5896

`self.assertEqual(repr(TypeGuard), 'typing.TypeGuard')

`

5921

5897

`cv = TypeGuard[int]

`