// run // Copyright 2026 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. // Verify that composite literals using selectors for // embedded fields are assembled correctly. package main import "fmt" type A struct { a int B } type B struct { b string C } type C struct { c any } func main() { eq(A{1, B{b: "foo"}}, A{a: 1, b: "foo"}) eq(A{B: B{C: C{c: "foo"}}}, A{c: "foo"}) } func eq(x, y any) { if x != y { panic(fmt.Sprintf("%v != %v", x, y)) } }