Optional arguments are retained in recursive calls
dominicm00 opened this issue · comments
As a compatibility behavior, Ham inherits from the previous local variable block on function calls. However, since this includes function arguments, recursive calls with optional arguments will not be unset:
rule Optional x : opt {
if $(opt) {
# This recursive call sees the value in opt
Optional x ;
}
}
Function calls should explicitly unset unpassed arguments.