generated DeepCopy without a function on a struct pointer is wrong

in and out are both pointers to pointers, so *in has to be cast to
*Type, not Type.
This commit is contained in:
Clayton Coleman
2016-09-04 15:25:11 -04:00
parent 2ead4ba589
commit 13adc63bff

View File

@@ -609,7 +609,7 @@ func (g *genDeepCopy) doPointer(t *types.Type, sw *generator.SnippetWriter) {
sw.Do("if newVal, err := c.DeepCopy(*in); err != nil {\n", nil)
sw.Do("return err\n", nil)
sw.Do("} else {\n", nil)
sw.Do("*out = newVal.($.|raw$)\n", t.Elem)
sw.Do("*out = newVal.(*$.|raw$)\n", t.Elem)
sw.Do("}\n", nil)
}
}