// compile // Copyright 2018 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 // 1st test case from issue type F = func(E) // compiles if not type alias or moved below E struct type E struct { f F } var x = E{func(E) {}} // 2nd test case from issue type P = *S type S struct { p P }