@@ -520,6 +520,30 @@ def test_nested_paramspec_specialization(self):
520520        self .assertEqual (x_tuple .__args__ , ((int , str ), float ))
521521        self .assertEqual (x_tuple .__parameters__ , ())
522522
523+         U  =  TypeVar ("U" )
524+         V  =  TypeVar ("V" )
525+ 
526+         multiple_params_list  =  X [[int , U ], V ]
527+         self .assertEqual (multiple_params_list .__args__ , ([int , U ], V ))
528+         self .assertEqual (multiple_params_list .__parameters__ , (U , V ))
529+         multiple_params_list_specialized  =  multiple_params_list [str , float ]
530+         self .assertEqual (multiple_params_list_specialized .__args__ , ([int , str ], float ))
531+         self .assertEqual (multiple_params_list_specialized .__parameters__ , ())
532+ 
533+         multiple_params_tuple  =  X [(int , U ), V ]
534+         self .assertEqual (multiple_params_tuple .__args__ , ((int , U ), V ))
535+         self .assertEqual (multiple_params_tuple .__parameters__ , (U , V ))
536+         multiple_params_tuple_specialized  =  multiple_params_tuple [str , float ]
537+         self .assertEqual (multiple_params_tuple_specialized .__args__ , ((int , str ), float ))
538+         self .assertEqual (multiple_params_tuple_specialized .__parameters__ , ())
539+ 
540+         deeply_nested  =  X [[U , [V ], int ], V ]
541+         self .assertEqual (deeply_nested .__args__ , ([U , [V ], int ], V ))
542+         self .assertEqual (deeply_nested .__parameters__ , (U , V ))
543+         deeply_nested_specialized  =  deeply_nested [str , float ]
544+         self .assertEqual (deeply_nested_specialized .__args__ , ([str , [float ], int ], float ))
545+         self .assertEqual (deeply_nested_specialized .__parameters__ , ())
546+ 
523547
524548class  TypeIterationTests (unittest .TestCase ):
525549    _UNITERABLE_TYPES  =  (list , tuple )
0 commit comments