@@ -7390,8 +7390,8 @@ def test_invalid_cases(self):
73907390 T = TypeVar ("T" )
73917391 T2 = TypeVar ("T2" )
73927392 ListOrSetT = TypeAliasType ("ListOrSetT" , Union [List [T ], Set [T ]], type_params = (T ,))
7393- too_many = ListOrSetT [int , bool ]
73947393
7394+ too_many = ListOrSetT [int , bool ]
73957395 self .assertEqual (get_args (too_many ), (int , bool ))
73967396 self .assertEqual (too_many .__parameters__ , ())
73977397
@@ -7416,55 +7416,33 @@ def test_invalid_cases(self):
74167416 self .assertEqual (callable_too_many .__parameters__ , (T2 , ))
74177417 self .assertEqual (get_args (callable_too_many ), (str , float , T2 , int , ))
74187418
7419- # Test with Concatenate
7420- callable_concat = CallableP [Concatenate [Any , T2 , P ], Any ]
7421- self .assertEqual (callable_concat .__parameters__ , (T2 , P ))
7419+ # Cases that result in parameterless variable
7420+
7421+ # Callable
7422+ CallableT = CallableP [[T ]]
7423+ self .assertEqual (get_args (CallableT ), ([T ],))
7424+ self .assertEqual (CallableT .__parameters__ , ())
7425+ with self .assertRaises (TypeError , msg = "is not a generic class" ):
7426+ CallableT [str ]
7427+
7428+ ImplicitConcatP = CallableP [[int , P ]]
7429+ self .assertEqual (get_args (ImplicitConcatP ), ([int , P ],))
7430+ self .assertEqual (ImplicitConcatP .__parameters__ , ())
7431+ with self .assertRaises (TypeError , msg = "is not a generic class" ):
7432+ ImplicitConcatP [str ]
74227433
74237434 # TypeVarTuple
74247435 Ts = TypeVarTuple ("Ts" )
74257436 Variadic = TypeAliasType ("Variadic" , Tuple [int , Unpack [Ts ]], type_params = (Ts ,))
7426- # No Unpack
7427- invalid_tuple_A = Variadic [Tuple [int , T ]]
7428- self .assertEqual (invalid_tuple_A .__parameters__ , (T , ))
7429- self .assertEqual (get_args (invalid_tuple_A ), (Tuple [int , T ], ))
7430-
7431- # To type tuple
7432- invalid_tuple_B = Variadic [int , T ]
7433- self .assertEqual (invalid_tuple_B .__parameters__ , (T , ))
74347437
74357438 # No Tuple, but list
7436- invalud_tuple_C = Variadic [[int , T ]]
7437- self .assertEqual (invalud_tuple_C .__parameters__ , ())
7438- self .assertEqual (get_args (invalud_tuple_C ), ([int , T ],))
7439+ invalid_tupleT = Variadic [[int , T ]]
7440+ self .assertEqual (invalid_tupleT .__parameters__ , ())
7441+ self .assertEqual (get_args (invalid_tupleT ), ([int , T ],))
74397442
7440- # Callable
7441- # NOTE: This these cases seem to be more like a limitation in the typing variant
7442- # The final variable is parameterless if using a list here.
7443- callable_T = CallableP [[T ]]
7444- self .assertEqual (get_args (callable_T ), ([T ],))
7445- self .assertEqual (callable_T .__parameters__ , ())
7446- with self .assertRaises (TypeError , msg = "is not a generic class" ):
7447- callable_T [str ]
7448-
7449- InvalidConcatP = CallableP [[int , P ]]
7450- self .assertEqual (get_args (InvalidConcatP ), ([int , P ],))
7451- self .assertEqual (InvalidConcatP .__parameters__ , ())
74527443 with self .assertRaises (TypeError , msg = "is not a generic class" ):
7453- InvalidConcatP [str ]
7444+ invalid_tupleT [str ]
74547445
7455- # Callable
7456- # NOTE: This these cases seem to be more like a limitation in the typing variant
7457- callable_T = CallableP [[T ]]
7458- self .assertEqual (get_args (callable_T ), ([T ],))
7459- self .assertEqual (callable_T .__parameters__ , ())
7460- with self .assertRaises (TypeError , msg = "is not a generic class" ):
7461- callable_T [str ]
7462-
7463- InvalidConcatP = CallableP [[int , P ]]
7464- self .assertEqual (get_args (InvalidConcatP ), ([int , P ],))
7465- self .assertEqual (InvalidConcatP .__parameters__ , ())
7466- with self .assertRaises (TypeError , msg = "is not a generic class" ):
7467- InvalidConcatP [str ]
74687446
74697447 @skipIf (TYPING_3_11_0 , "Most cases are allowed in 3.11+" )
74707448 def test_invalid_cases_before_3_11 (self ):
0 commit comments