// compile

// 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 8028. Used to fail in -race mode with "non-orig name" error.

package p

var (
	t2 = T{F, "s1"}
	t1 = T{F, "s2"}

	tt = [...]T{t1, t2}
)

type I interface{}

type T struct {
	F func() I
	S string
}

type E struct{}

func F() I { return new(E) }
