Skip to content

Commit 9d72fc6

Browse files
committed
Allow declaring a DepNode as eval_always
Part of #45238
1 parent 512f16a commit 9d72fc6

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/librustc/dep_graph/dep_node.rs

+18
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,11 @@ macro_rules! is_input_attr {
9090
($attr:ident) => (false);
9191
}
9292

93+
macro_rules! is_eval_always_attr {
94+
(eval_always) => (true);
95+
($attr:ident) => (false);
96+
}
97+
9398
macro_rules! contains_anon_attr {
9499
($($attr:ident),*) => ({$(is_anon_attr!($attr) | )* false});
95100
}
@@ -98,6 +103,10 @@ macro_rules! contains_input_attr {
98103
($($attr:ident),*) => ({$(is_input_attr!($attr) | )* false});
99104
}
100105

106+
macro_rules! contains_eval_always_attr {
107+
($($attr:ident),*) => ({$(is_eval_always_attr!($attr) | )* false});
108+
}
109+
101110
macro_rules! define_dep_nodes {
102111
(<$tcx:tt>
103112
$(
@@ -160,6 +169,15 @@ macro_rules! define_dep_nodes {
160169
}
161170
}
162171

172+
#[inline]
173+
pub fn is_eval_always(&self) -> bool {
174+
match *self {
175+
$(
176+
DepKind :: $variant => { contains_eval_always_attr!($($attr), *) }
177+
)*
178+
}
179+
}
180+
163181
#[allow(unreachable_code)]
164182
#[inline]
165183
pub fn has_params(&self) -> bool {

0 commit comments

Comments
 (0)