@@ -865,7 +865,9 @@ mod tests {
865865 use crate :: Db ;
866866 use crate :: db:: tests:: { TestDb , TestDbBuilder } ;
867867 use crate :: semantic_index:: ast_ids:: { HasScopedUseId , ScopedUseId } ;
868- use crate :: semantic_index:: definition:: { Definition , DefinitionKind } ;
868+ use crate :: semantic_index:: definition:: {
869+ Definition , DefinitionKind , LambdaParameterDefinitionNodeKind , ParameterDefinitionNodeKind ,
870+ } ;
869871 use crate :: semantic_index:: place:: PlaceTable ;
870872 use crate :: semantic_index:: scope:: { FileScopeId , Scope , ScopeKind } ;
871873 use crate :: semantic_index:: symbol:: ScopedSymbolId ;
@@ -1156,14 +1158,14 @@ def f(a: str, /, b: str, c: int = 1, *args, d: int = 2, **kwargs):
11561158 . unwrap ( ) ;
11571159 assert ! ( matches!(
11581160 args_binding. kind( & db) ,
1159- DefinitionKind :: VariadicPositionalParameter ( _)
1161+ DefinitionKind :: Parameter ( ParameterDefinitionNodeKind :: VariadicPositionalParameter ( _) )
11601162 ) ) ;
11611163 let kwargs_binding = use_def
11621164 . first_public_binding ( function_table. symbol_id ( "kwargs" ) . expect ( "symbol exists" ) )
11631165 . unwrap ( ) ;
11641166 assert ! ( matches!(
11651167 kwargs_binding. kind( & db) ,
1166- DefinitionKind :: VariadicKeywordParameter ( _)
1168+ DefinitionKind :: Parameter ( ParameterDefinitionNodeKind :: VariadicKeywordParameter ( _) )
11671169 ) ) ;
11681170 }
11691171
@@ -1186,29 +1188,44 @@ def f(a: str, /, b: str, c: int = 1, *args, d: int = 2, **kwargs):
11861188 let lambda_table = index. place_table ( lambda_scope_id) ;
11871189 assert_eq ! (
11881190 names( lambda_table) ,
1189- vec![ "a" , "b" , "c" , "d " , "args " , "kwargs" ] ,
1191+ vec![ "a" , "b" , "c" , "args " , "d " , "kwargs" ] ,
11901192 ) ;
11911193
11921194 let use_def = index. use_def_map ( lambda_scope_id) ;
11931195 for name in [ "a" , "b" , "c" , "d" ] {
11941196 let binding = use_def
11951197 . first_public_binding ( lambda_table. symbol_id ( name) . expect ( "symbol exists" ) )
11961198 . unwrap ( ) ;
1197- assert ! ( matches!( binding. kind( & db) , DefinitionKind :: Parameter ( _) ) ) ;
1199+ assert ! ( matches!(
1200+ binding. kind( & db) ,
1201+ DefinitionKind :: LambdaParameter ( LambdaParameterDefinitionNodeKind {
1202+ index: _,
1203+ lambda: _,
1204+ parameter: ParameterDefinitionNodeKind :: Parameter ( _)
1205+ } )
1206+ ) ) ;
11981207 }
11991208 let args_binding = use_def
12001209 . first_public_binding ( lambda_table. symbol_id ( "args" ) . expect ( "symbol exists" ) )
12011210 . unwrap ( ) ;
12021211 assert ! ( matches!(
12031212 args_binding. kind( & db) ,
1204- DefinitionKind :: VariadicPositionalParameter ( _)
1213+ DefinitionKind :: LambdaParameter ( LambdaParameterDefinitionNodeKind {
1214+ index: 3 ,
1215+ lambda: _,
1216+ parameter: ParameterDefinitionNodeKind :: VariadicPositionalParameter ( _)
1217+ } )
12051218 ) ) ;
12061219 let kwargs_binding = use_def
12071220 . first_public_binding ( lambda_table. symbol_id ( "kwargs" ) . expect ( "symbol exists" ) )
12081221 . unwrap ( ) ;
12091222 assert ! ( matches!(
12101223 kwargs_binding. kind( & db) ,
1211- DefinitionKind :: VariadicKeywordParameter ( _)
1224+ DefinitionKind :: LambdaParameter ( LambdaParameterDefinitionNodeKind {
1225+ index: 5 ,
1226+ lambda: _,
1227+ parameter: ParameterDefinitionNodeKind :: VariadicKeywordParameter ( _)
1228+ } )
12121229 ) ) ;
12131230 }
12141231
0 commit comments