summaryrefslogtreecommitdiffhomepage
path: root/cmd/cloner/cloner.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/cloner/cloner.go')
-rw-r--r--cmd/cloner/cloner.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/cmd/cloner/cloner.go b/cmd/cloner/cloner.go
index a0bd04e6a..c7463b0f8 100644
--- a/cmd/cloner/cloner.go
+++ b/cmd/cloner/cloner.go
@@ -123,7 +123,7 @@ const header = `// Copyright (c) 2020 Tailscale Inc & AUTHORS All rights reserve
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// AUTO-GENERATED by: tailscale.com/cmd/cloner -type %s
+// Code generated by tailscale.com/cmd/cloner -type %s; DO NOT EDIT.
package %s
@@ -168,8 +168,8 @@ func gen(buf *bytes.Buffer, imports map[string]struct{}, name string, typ *types
}
switch ft := ft.Underlying().(type) {
case *types.Slice:
- n := importedName(ft.Elem())
if containsPointers(ft.Elem()) {
+ n := importedName(ft.Elem())
writef("dst.%s = make([]%s, len(src.%s))", fname, n, fname)
writef("for i := range dst.%s {", fname)
if _, isPtr := ft.Elem().(*types.Pointer); isPtr {
@@ -179,7 +179,7 @@ func gen(buf *bytes.Buffer, imports map[string]struct{}, name string, typ *types
}
writef("}")
} else {
- writef("dst.%s = append([]%s(nil), src.%s...)", fname, n, fname)
+ writef("dst.%s = append(src.%s[:0:0], src.%s...)", fname, fname, fname)
}
case *types.Pointer:
if named, _ := ft.Elem().(*types.Named); named != nil && containsPointers(ft.Elem()) {