@@ -290,8 +290,8 @@ pub(crate) fn query_group_impl(
290
290
. push ( TraitItem :: Fn ( make_trait_method ( method. signature . clone ( ) ) ) ) ;
291
291
lookup_methods. push ( method) ;
292
292
}
293
- // tracked function without *any* invoke.
294
- ( QueryKind :: Tracked , None ) => {
293
+ // tracked function. it might have an invoke, or might not .
294
+ ( QueryKind :: Tracked , invoke ) => {
295
295
let method = TrackedQuery {
296
296
trait_name : trait_name_ident. clone ( ) ,
297
297
generated_struct : Some ( GeneratedInputStruct {
@@ -300,30 +300,13 @@ pub(crate) fn query_group_impl(
300
300
} ) ,
301
301
signature : signature. clone ( ) ,
302
302
pat_and_tys : pat_and_tys. clone ( ) ,
303
- invoke : None ,
303
+ invoke,
304
304
cycle,
305
305
lru,
306
306
} ;
307
307
308
308
trait_methods. push ( Queries :: TrackedQuery ( method) ) ;
309
309
}
310
- // tracked function with an invoke
311
- ( QueryKind :: Tracked , Some ( invoke) ) => {
312
- let method = TrackedQuery {
313
- trait_name : trait_name_ident. clone ( ) ,
314
- generated_struct : Some ( GeneratedInputStruct {
315
- input_struct_name : input_struct_name. clone ( ) ,
316
- create_data_ident : create_data_ident. clone ( ) ,
317
- } ) ,
318
- signature : signature. clone ( ) ,
319
- pat_and_tys : pat_and_tys. clone ( ) ,
320
- invoke : Some ( invoke) ,
321
- cycle,
322
- lru,
323
- } ;
324
-
325
- trait_methods. push ( Queries :: TrackedQuery ( method) )
326
- }
327
310
( QueryKind :: TrackedWithSalsaStruct , Some ( invoke) ) => {
328
311
let method = TrackedQuery {
329
312
trait_name : trait_name_ident. clone ( ) ,
@@ -337,20 +320,14 @@ pub(crate) fn query_group_impl(
337
320
338
321
trait_methods. push ( Queries :: TrackedQuery ( method) )
339
322
}
323
+ // while it is possible to make this reachable, it's not really worthwhile for a migration aid.
324
+ // doing this would require attaching an attribute to the salsa struct parameter in the query.
340
325
( QueryKind :: TrackedWithSalsaStruct , None ) => unreachable ! ( ) ,
341
- ( QueryKind :: Transparent , None ) => {
326
+ ( QueryKind :: Transparent , invoke ) => {
342
327
let method = Transparent {
343
328
signature : method. sig . clone ( ) ,
344
329
pat_and_tys : pat_and_tys. clone ( ) ,
345
- invoke : None ,
346
- } ;
347
- trait_methods. push ( Queries :: Transparent ( method) ) ;
348
- }
349
- ( QueryKind :: Transparent , Some ( invoke) ) => {
350
- let method = Transparent {
351
- signature : method. sig . clone ( ) ,
352
- pat_and_tys : pat_and_tys. clone ( ) ,
353
- invoke : Some ( invoke) ,
330
+ invoke : invoke
354
331
} ;
355
332
trait_methods. push ( Queries :: Transparent ( method) ) ;
356
333
}
0 commit comments