| // 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 N /* ERROR invalid recursive type */ interface { |
| int | N |
| } |
| |
| type A /* ERROR invalid recursive type */ interface { |
| int | B |
| } |
| |
| type B interface { |
| int | A |
| } |
| |
| type S /* ERROR invalid recursive type */ struct { |
| I // ERROR interface contains type constraints |
| } |
| |
| type I interface { |
| int | S |
| } |
| |
| type P interface { |
| *P // ERROR interface contains type constraints |
| } |