mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 06:44:35 +00:00
Auto merge of #100946 - jyn514:query-system-3, r=cjgillot
Simplify the arguments to macros generated by the `rustc_queries` proc macro Very small cleanup. Based on https://github.com/rust-lang/rust/pull/100436 which modifies some of the same code. r? `@cjgillot`
This commit is contained in:
commit
4065b89b1e
@ -265,13 +265,13 @@ fn add_query_description_impl(query: &Query, impls: &mut proc_macro2::TokenStrea
|
||||
let try_load_from_disk = if let Some((tcx, id, block)) = modifiers.load_cached.as_ref() {
|
||||
// Use custom code to load the query from disk
|
||||
quote! {
|
||||
const TRY_LOAD_FROM_DISK: Option<fn(QueryCtxt<$tcx>, SerializedDepNodeIndex) -> Option<Self::Value>>
|
||||
const TRY_LOAD_FROM_DISK: Option<fn(QueryCtxt<'tcx>, SerializedDepNodeIndex) -> Option<Self::Value>>
|
||||
= Some(|#tcx, #id| { #block });
|
||||
}
|
||||
} else {
|
||||
// Use the default code to load the query from disk
|
||||
quote! {
|
||||
const TRY_LOAD_FROM_DISK: Option<fn(QueryCtxt<$tcx>, SerializedDepNodeIndex) -> Option<Self::Value>>
|
||||
const TRY_LOAD_FROM_DISK: Option<fn(QueryCtxt<'tcx>, SerializedDepNodeIndex) -> Option<Self::Value>>
|
||||
= Some(|tcx, id| tcx.on_disk_cache().as_ref()?.try_load_query_result(*tcx, id));
|
||||
}
|
||||
};
|
||||
@ -298,7 +298,7 @@ fn add_query_description_impl(query: &Query, impls: &mut proc_macro2::TokenStrea
|
||||
false
|
||||
}
|
||||
|
||||
const TRY_LOAD_FROM_DISK: Option<fn(QueryCtxt<$tcx>, SerializedDepNodeIndex) -> Option<Self::Value>> = None;
|
||||
const TRY_LOAD_FROM_DISK: Option<fn(QueryCtxt<'tcx>, SerializedDepNodeIndex) -> Option<Self::Value>> = None;
|
||||
}
|
||||
};
|
||||
|
||||
@ -307,7 +307,7 @@ fn add_query_description_impl(query: &Query, impls: &mut proc_macro2::TokenStrea
|
||||
|
||||
let desc = quote! {
|
||||
#[allow(unused_variables)]
|
||||
fn describe(tcx: QueryCtxt<$tcx>, key: Self::Key) -> String {
|
||||
fn describe(tcx: QueryCtxt<'tcx>, key: Self::Key) -> String {
|
||||
let (#tcx, #key) = (*tcx, key);
|
||||
::rustc_middle::ty::print::with_no_trimmed_paths!(
|
||||
format!(#desc)
|
||||
@ -316,7 +316,7 @@ fn add_query_description_impl(query: &Query, impls: &mut proc_macro2::TokenStrea
|
||||
};
|
||||
|
||||
impls.extend(quote! {
|
||||
(#name<$tcx:tt>) => {
|
||||
(#name) => {
|
||||
#desc
|
||||
#cache
|
||||
};
|
||||
@ -411,15 +411,15 @@ pub fn rustc_queries(input: TokenStream) -> TokenStream {
|
||||
TokenStream::from(quote! {
|
||||
#[macro_export]
|
||||
macro_rules! rustc_query_append {
|
||||
([$($macro:tt)*]) => {
|
||||
$($macro)* {
|
||||
($macro:ident !) => {
|
||||
$macro! {
|
||||
#query_stream
|
||||
}
|
||||
}
|
||||
}
|
||||
macro_rules! rustc_dep_node_append {
|
||||
([$($macro:tt)*][$($other:tt)*]) => {
|
||||
$($macro)*(
|
||||
($macro:ident! [$($other:tt)*]) => {
|
||||
$macro!(
|
||||
$($other)*
|
||||
|
||||
#dep_node_def_stream
|
||||
@ -428,8 +428,8 @@ pub fn rustc_queries(input: TokenStream) -> TokenStream {
|
||||
}
|
||||
#[macro_export]
|
||||
macro_rules! rustc_cached_queries {
|
||||
($($macro:tt)*) => {
|
||||
$($macro)*(#cached_queries);
|
||||
( $macro:ident! ) => {
|
||||
$macro!(#cached_queries);
|
||||
}
|
||||
}
|
||||
#[macro_export]
|
||||
|
@ -179,7 +179,7 @@ macro_rules! define_dep_nodes {
|
||||
);
|
||||
}
|
||||
|
||||
rustc_dep_node_append!([define_dep_nodes!][
|
||||
rustc_dep_node_append!(define_dep_nodes![
|
||||
// We use this for most things when incr. comp. is turned off.
|
||||
[] Null,
|
||||
|
||||
|
@ -332,7 +332,7 @@ macro_rules! define_callbacks {
|
||||
// Queries marked with `fatal_cycle` do not need the latter implementation,
|
||||
// as they will raise an fatal error on query cycles instead.
|
||||
|
||||
rustc_query_append! { [define_callbacks!] }
|
||||
rustc_query_append! { define_callbacks! }
|
||||
|
||||
mod sealed {
|
||||
use super::{DefId, LocalDefId};
|
||||
|
@ -54,7 +54,7 @@ fn describe_as_module(def_id: LocalDefId, tcx: TyCtxt<'_>) -> String {
|
||||
}
|
||||
}
|
||||
|
||||
rustc_query_append! { [define_queries!] }
|
||||
rustc_query_append! { define_queries! }
|
||||
|
||||
impl<'tcx> Queries<'tcx> {
|
||||
// Force codegen in the dyn-trait transformation in this crate.
|
||||
|
@ -339,7 +339,7 @@ macro_rules! define_queries {
|
||||
}
|
||||
|
||||
impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for queries::$name<'tcx> {
|
||||
rustc_query_description! { $name<'tcx> }
|
||||
rustc_query_description! { $name }
|
||||
|
||||
type Cache = query_storage::$name<'tcx>;
|
||||
|
||||
|
@ -320,5 +320,5 @@ pub fn alloc_self_profile_query_strings(tcx: TyCtxt<'_>) {
|
||||
}
|
||||
}
|
||||
|
||||
rustc_query_append! { [alloc_once!] }
|
||||
rustc_query_append! { alloc_once! }
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user