// run // Copyright 2010 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 main type S1 struct { i int } type S2 struct { i int } type S3 struct { S1 S2 } type S4 struct { S3 S1 } func main() { var s4 S4 if s4.i != 0 { // .i refers to s4.S1.i, unambiguously panic("fail") } }