add warnings when initialization goals fail (#168)
This commit is contained in:
@@ -1022,7 +1022,10 @@ fn compile_work_impl(
|
|||||||
)?;
|
)?;
|
||||||
|
|
||||||
if init_goal_code.len() > 0 {
|
if init_goal_code.len() > 0 {
|
||||||
wam.run_init_code(init_goal_code);
|
if !wam.run_init_code(init_goal_code) {
|
||||||
|
println!("Warning: initialization goal for {} failed",
|
||||||
|
compiler.listing_src);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if !compiler.suppress_warnings {
|
if !compiler.suppress_warnings {
|
||||||
|
|||||||
@@ -230,14 +230,17 @@ impl Machine {
|
|||||||
self.machine_st.reset();
|
self.machine_st.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn run_init_code(&mut self, code: Code) {
|
pub fn run_init_code(&mut self, code: Code) -> bool {
|
||||||
let old_machine_st = self.sink_to_snapshot();
|
let old_machine_st = self.sink_to_snapshot();
|
||||||
self.machine_st.reset();
|
self.machine_st.reset();
|
||||||
|
|
||||||
self.code_repo.cached_query = code;
|
self.code_repo.cached_query = code;
|
||||||
self.run_query(&AllocVarDict::new());
|
self.run_query(&AllocVarDict::new());
|
||||||
|
|
||||||
|
let result = self.machine_st.fail;
|
||||||
self.absorb_snapshot(old_machine_st);
|
self.absorb_snapshot(old_machine_st);
|
||||||
|
|
||||||
|
!result
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn run_top_level(&mut self) {
|
pub fn run_top_level(&mut self) {
|
||||||
|
|||||||
Reference in New Issue
Block a user