diff options
Diffstat (limited to 'prog/clone.go')
| -rw-r--r-- | prog/clone.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/prog/clone.go b/prog/clone.go index 69a54cd4e..6a6837148 100644 --- a/prog/clone.go +++ b/prog/clone.go @@ -44,7 +44,9 @@ func (arg *Arg) clone(c *Call, newargs map[*Arg]*Arg) *Arg { for _, arg2 := range arg.Inner { arg1.Inner = append(arg1.Inner, arg2.clone(c, newargs)) } - arg1.Uses = nil // filled when we clone the referent - newargs[arg] = arg1 + if len(arg1.Uses) != 0 { + arg1.Uses = nil // filled when we clone the referent + newargs[arg] = arg1 + } return arg1 } |
