From 914fb09ed07a652aff849f4212e5fffbcc6ff816 Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Mon, 15 Mar 2021 14:22:54 -0600 Subject: [PATCH] don't warn about overwriting a clause asserted to a dynamic predicate whose clauses have all been retracted (#870) --- src/machine/compile.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/machine/compile.rs b/src/machine/compile.rs index eea744a2..b45b58e2 100644 --- a/src/machine/compile.rs +++ b/src/machine/compile.rs @@ -1297,6 +1297,7 @@ fn print_overwrite_warning( compilation_target: &CompilationTarget, code_ptr: IndexPtr, key: &PredicateKey, + is_dynamic: bool, ) { if let CompilationTarget::Module(ref module_name) = compilation_target { match module_name.as_str() { @@ -1307,6 +1308,7 @@ fn print_overwrite_warning( match code_ptr { IndexPtr::DynamicUndefined | IndexPtr::Undefined => return, + _ if is_dynamic => return, _ => {} } @@ -1460,7 +1462,12 @@ impl<'a> LoadState<'a> { } } - print_overwrite_warning(&predicates.compilation_target, code_index.get(), &key); + print_overwrite_warning( + &predicates.compilation_target, + code_index.get(), + &key, + settings.is_dynamic(), + ); set_code_index( &mut self.retraction_info, -- 2.54.0