Your IP : 172.28.240.42


Current Path : /usr/local/go/src/internal/types/testdata/fixedbugs/
Upload File :
Current File : //usr/local/go/src/internal/types/testdata/fixedbugs/issue48974.go

// Copyright 2021 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

type Fooer interface {
	Foo()
}

type Fooable[F /* ERROR "instantiation cycle" */ Fooer] struct {
	ptr F
}

func (f *Fooable[F]) Adapter() *Fooable[*FooerImpl[F]] {
	return &Fooable[*FooerImpl[F]]{&FooerImpl[F]{}}
}

type FooerImpl[F Fooer] struct {
}

func (fi *FooerImpl[F]) Foo() {}