// Copyright 2017 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package p import q "./a" type T struct { X *q.P } func F(in, out *T) { *out = *in if in.X != nil { in, out := &in.X, &out.X if *in == nil { *out = nil } else { *out = new(q.P) **out = **in } } return } //go:noinline func G(x, y *T) { F(x, y) }