diff --git a/src/engine.rs b/src/engine.rs index 2f03f16..6c476f0 100644 --- a/src/engine.rs +++ b/src/engine.rs @@ -1127,8 +1127,6 @@ impl Engine { self.interpreter.set_traces(enable_tracing); #[cfg(feature = "azure_policy")] let was_prepared = self.prepared; - #[cfg(not(feature = "azure_policy"))] - let _ = for_target; // if the data/policies have changed or the interpreter has never been prepared if !self.prepared { @@ -1166,17 +1164,23 @@ impl Engine { } #[cfg(feature = "azure_policy")] - if for_target { - // Resolve and validate target specifications across all modules. - // This must run for target-aware compilation even if generic prepare() - // was already called. - crate::interpreter::target::resolve::resolve_and_apply_target(&mut self.interpreter)?; - // Infer resource types - crate::interpreter::target::infer::infer_resource_type(&mut self.interpreter)?; - } else if !was_prepared { - // Check if any module specifies a target and warn if so. - self.warn_if_targets_present(); + { + if for_target { + // Resolve and validate target specifications across all modules. + // This must run for target-aware compilation even if generic prepare() + // was already called. + crate::interpreter::target::resolve::resolve_and_apply_target( + &mut self.interpreter, + )?; + // Infer resource types + crate::interpreter::target::infer::infer_resource_type(&mut self.interpreter)?; + } else if !was_prepared { + // Check if any module specifies a target and warn if so. + self.warn_if_targets_present(); + } } + #[cfg(not(feature = "azure_policy"))] + let _ = for_target; Ok(()) } diff --git a/tests/engine/mod.rs b/tests/engine/mod.rs index 3fab7dc..ce9a819 100644 --- a/tests/engine/mod.rs +++ b/tests/engine/mod.rs @@ -163,7 +163,7 @@ fn prepare_then_compile_for_target() -> Result<()> { default allow := false allow if { - input.type == "test_resource" + input.type == "test_resource" } "# .to_string(),