add assert; a returned copy must always be in the target subs

This commit is contained in:
Folkert 2021-11-17 16:32:20 +01:00
parent 3b1e0eeb24
commit 65e0866d0a

View file

@ -1415,6 +1415,7 @@ fn deep_copy_var_to_help(
let desc = source.get_without_compacting(var);
if let Some(copy) = desc.copy.into_variable() {
debug_assert!(target.contains(copy));
return copy;
} else if desc.rank != Rank::NONE {
// DO NOTHING
@ -1478,6 +1479,7 @@ fn deep_copy_var_to_help(
Func(arg_vars, closure_var, ret_var) => {
let new_ret_var =
deep_copy_var_to_help(source, target, max_rank, pools, mapping, ret_var);
let new_closure_var = deep_copy_var_to_help(
source,
target,