@@ -6,18 +6,15 @@ use std::vec;
66use proc_macro:: TokenStream ;
77use proc_macro2:: Span ;
88use queries:: {
9- GeneratedInputStruct , InputQuery , InputSetter , InputSetterWithDurability , Intern , Lookup ,
10- Queries , SetterKind , TrackedQuery , Transparent ,
9+ GeneratedInputStruct , InputQuery , InputSetter , InputSetterWithDurability , Queries , SetterKind ,
10+ TrackedQuery , Transparent ,
1111} ;
1212use quote:: { ToTokens , format_ident, quote} ;
1313use syn:: parse:: { Parse , ParseStream } ;
1414use syn:: punctuated:: Punctuated ;
1515use syn:: spanned:: Spanned ;
1616use syn:: visit_mut:: VisitMut ;
17- use syn:: {
18- Attribute , FnArg , ItemTrait , Path , Token , TraitItem , TraitItemFn , parse_quote,
19- parse_quote_spanned,
20- } ;
17+ use syn:: { Attribute , FnArg , ItemTrait , Path , Token , TraitItem , parse_quote, parse_quote_spanned} ;
2118
2219mod queries;
2320
@@ -106,7 +103,6 @@ enum QueryKind {
106103 Tracked ,
107104 TrackedWithSalsaStruct ,
108105 Transparent ,
109- Interned ,
110106}
111107
112108#[ derive( Default , Debug , Clone ) ]
@@ -190,7 +186,6 @@ pub(crate) fn query_group_impl(
190186 let mut trait_methods = vec ! [ ] ;
191187 let mut setter_trait_methods = vec ! [ ] ;
192188 let mut lookup_signatures = vec ! [ ] ;
193- let mut lookup_methods = vec ! [ ] ;
194189
195190 for item in & mut item_trait. items {
196191 if let syn:: TraitItem :: Fn ( method) = item {
@@ -202,7 +197,6 @@ pub(crate) fn query_group_impl(
202197 let mut query_kind = QueryKind :: TrackedWithSalsaStruct ;
203198 let mut invoke = None ;
204199 let mut cycle = None ;
205- let mut interned_struct_path = None ;
206200 let mut lru = None ;
207201
208202 let params: Vec < FnArg > = signature. inputs . clone ( ) . into_iter ( ) . collect ( ) ;
@@ -230,22 +224,6 @@ pub(crate) fn query_group_impl(
230224 }
231225 query_kind = QueryKind :: Input ;
232226 }
233- "interned" => {
234- let syn:: ReturnType :: Type ( _, ty) = & signature. output else {
235- return Err ( syn:: Error :: new (
236- span,
237- "interned queries must have return type" ,
238- ) ) ;
239- } ;
240- let syn:: Type :: Path ( path) = & * * ty else {
241- return Err ( syn:: Error :: new (
242- span,
243- "interned queries must have return type" ,
244- ) ) ;
245- } ;
246- interned_struct_path = Some ( path. path . clone ( ) ) ;
247- query_kind = QueryKind :: Interned ;
248- }
249227 "invoke_interned" => {
250228 let path = syn:: parse :: < Parenthesized < Path > > ( tts) ?;
251229 invoke = Some ( path. 0 . clone ( ) ) ;
@@ -317,28 +295,6 @@ pub(crate) fn query_group_impl(
317295 } ;
318296 setter_trait_methods. push ( SetterKind :: WithDurability ( setter) ) ;
319297 }
320- ( QueryKind :: Interned , None ) => {
321- let interned_struct_path = interned_struct_path. unwrap ( ) ;
322- let method = Intern {
323- signature : signature. clone ( ) ,
324- pat_and_tys : pat_and_tys. clone ( ) ,
325- interned_struct_path : interned_struct_path. clone ( ) ,
326- } ;
327-
328- trait_methods. push ( Queries :: Intern ( method) ) ;
329-
330- let mut method = Lookup {
331- signature : signature. clone ( ) ,
332- pat_and_tys : pat_and_tys. clone ( ) ,
333- return_ty : * return_ty,
334- interned_struct_path,
335- } ;
336- method. prepare_signature ( ) ;
337-
338- lookup_signatures
339- . push ( TraitItem :: Fn ( make_trait_method ( method. signature . clone ( ) ) ) ) ;
340- lookup_methods. push ( method) ;
341- }
342298 // tracked function. it might have an invoke, or might not.
343299 ( QueryKind :: Tracked , invoke) => {
344300 let method = TrackedQuery {
@@ -380,13 +336,6 @@ pub(crate) fn query_group_impl(
380336 } ;
381337 trait_methods. push ( Queries :: Transparent ( method) ) ;
382338 }
383- // error/invalid constructions
384- ( QueryKind :: Interned , Some ( path) ) => {
385- return Err ( syn:: Error :: new (
386- path. span ( ) ,
387- "Interned queries cannot be used with an `#[invoke]`" . to_string ( ) ,
388- ) ) ;
389- }
390339 ( QueryKind :: Input , Some ( path) ) => {
391340 return Err ( syn:: Error :: new (
392341 path. span ( ) ,
@@ -451,8 +400,6 @@ pub(crate) fn query_group_impl(
451400 #( #trait_methods) *
452401
453402 #( #setter_methods) *
454-
455- #( #lookup_methods) *
456403 }
457404 } ;
458405 RemoveAttrsFromTraitMethods . visit_item_trait_mut ( & mut item_trait) ;
@@ -485,15 +432,6 @@ where
485432 }
486433}
487434
488- fn make_trait_method ( sig : syn:: Signature ) -> TraitItemFn {
489- TraitItemFn {
490- attrs : vec ! [ ] ,
491- sig : sig. clone ( ) ,
492- semi_token : Some ( syn:: Token ![ ; ] ( sig. span ( ) ) ) ,
493- default : None ,
494- }
495- }
496-
497435struct RemoveAttrsFromTraitMethods ;
498436
499437impl VisitMut for RemoveAttrsFromTraitMethods {
0 commit comments