@@ -1037,6 +1037,15 @@ class C(TypeVarTuple): pass
1037
1037
with self .assertRaisesRegex (TypeError ,
1038
1038
CANNOT_SUBCLASS_INSTANCE % 'TypeVarTuple' ):
1039
1039
class C (Ts ): pass
1040
+ with self .assertRaisesRegex (TypeError , r'Cannot subclass \*Ts' ):
1041
+ class C (* Ts ): pass
1042
+ with self .assertRaisesRegex (TypeError , CANNOT_SUBCLASS_TYPE ):
1043
+ class C (type (Unpack )): pass
1044
+ with self .assertRaisesRegex (TypeError , CANNOT_SUBCLASS_TYPE ):
1045
+ class C (type (Unpack [Ts ])): pass
1046
+ with self .assertRaisesRegex (TypeError ,
1047
+ r'Cannot subclass typing\.Unpack' ):
1048
+ class C (Unpack ): pass
1040
1049
with self .assertRaisesRegex (TypeError , r'Cannot subclass \*Ts' ):
1041
1050
class C (Unpack [Ts ]): pass
1042
1051
@@ -3710,6 +3719,14 @@ class C(type(ClassVar)):
3710
3719
with self .assertRaisesRegex (TypeError , CANNOT_SUBCLASS_TYPE ):
3711
3720
class C (type (ClassVar [int ])):
3712
3721
pass
3722
+ with self .assertRaisesRegex (TypeError ,
3723
+ r'Cannot subclass typing\.ClassVar' ):
3724
+ class C (ClassVar ):
3725
+ pass
3726
+ with self .assertRaisesRegex (TypeError ,
3727
+ r'Cannot subclass typing\.ClassVar\[int\]' ):
3728
+ class C (ClassVar [int ]):
3729
+ pass
3713
3730
3714
3731
def test_cannot_init (self ):
3715
3732
with self .assertRaises (TypeError ):
@@ -3752,6 +3769,14 @@ class C(type(Final)):
3752
3769
with self .assertRaisesRegex (TypeError , CANNOT_SUBCLASS_TYPE ):
3753
3770
class C (type (Final [int ])):
3754
3771
pass
3772
+ with self .assertRaisesRegex (TypeError ,
3773
+ r'Cannot subclass typing\.Final' ):
3774
+ class C (Final ):
3775
+ pass
3776
+ with self .assertRaisesRegex (TypeError ,
3777
+ r'Cannot subclass typing\.Final\[int\]' ):
3778
+ class C (Final [int ]):
3779
+ pass
3755
3780
3756
3781
def test_cannot_init (self ):
3757
3782
with self .assertRaises (TypeError ):
@@ -6439,13 +6464,18 @@ def test_re_submodule(self):
6439
6464
self .assertEqual (len (w ), 1 )
6440
6465
6441
6466
def test_cannot_subclass (self ):
6442
- with self .assertRaises (TypeError ) as ex :
6443
-
6467
+ with self .assertRaisesRegex (
6468
+ TypeError ,
6469
+ r"type 're\.Match' is not an acceptable base type" ,
6470
+ ):
6444
6471
class A (typing .Match ):
6445
6472
pass
6446
-
6447
- self .assertEqual (str (ex .exception ),
6448
- "type 're.Match' is not an acceptable base type" )
6473
+ with self .assertRaisesRegex (
6474
+ TypeError ,
6475
+ r"type 're\.Pattern' is not an acceptable base type" ,
6476
+ ):
6477
+ class A (typing .Pattern ):
6478
+ pass
6449
6479
6450
6480
6451
6481
class AnnotatedTests (BaseTestCase ):
@@ -7037,6 +7067,14 @@ class C(type(TypeGuard)):
7037
7067
with self .assertRaisesRegex (TypeError , CANNOT_SUBCLASS_TYPE ):
7038
7068
class C (type (TypeGuard [int ])):
7039
7069
pass
7070
+ with self .assertRaisesRegex (TypeError ,
7071
+ r'Cannot subclass typing\.TypeGuard' ):
7072
+ class C (TypeGuard ):
7073
+ pass
7074
+ with self .assertRaisesRegex (TypeError ,
7075
+ r'Cannot subclass typing\.TypeGuard\[int\]' ):
7076
+ class C (TypeGuard [int ]):
7077
+ pass
7040
7078
7041
7079
def test_cannot_init (self ):
7042
7080
with self .assertRaises (TypeError ):
0 commit comments