--- /dev/null
+// errorcheck
+
+// Copyright 2014 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.
+
+// Issue 7525: self-referential array types.
+
+package main
+
+import "unsafe"
+
+var x struct {
+ a [unsafe.Sizeof(x.a)]int // ERROR "array bound|typechecking loop|invalid expression"
+ b [unsafe.Offsetof(x.b)]int // ERROR "array bound"
+ c [unsafe.Alignof(x.c)]int // ERROR "array bound|invalid expression"
+ d [len(x.d)]int // ERROR "array bound|invalid array"
+ e [cap(x.e)]int // ERROR "array bound|invalid array"
+}