From afe402d20af0d54d4e0baeb9e70e668e2a26f188 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Sat, 5 May 2018 10:25:45 +0200 Subject: prog: make c.Ret optional No reason to allocate return value if there is no return type. c.Ret == nil is the reasonable indication that this is a "void" call. --- prog/clone.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'prog/clone.go') diff --git a/prog/clone.go b/prog/clone.go index 51d801e28..3b6ba0fbc 100644 --- a/prog/clone.go +++ b/prog/clone.go @@ -12,7 +12,9 @@ func (p *Prog) Clone() *Prog { for ci, c := range p.Calls { c1 := new(Call) c1.Meta = c.Meta - c1.Ret = clone(c.Ret, newargs).(*ResultArg) + if c.Ret != nil { + c1.Ret = clone(c.Ret, newargs).(*ResultArg) + } c1.Args = make([]Arg, len(c.Args)) for ai, arg := range c.Args { c1.Args[ai] = clone(arg, newargs) -- cgit mrf-deployment