mirror of
https://github.com/golang/go
synced 2024-11-13 13:09:29 +00:00
bdc6dbbc64
This change improves error message for recursive types. Currently, compilation of the [following program](https://go.dev/play/p/3ef84ObpzfG): package main type T1[T T2] struct{} type T2[T T1] struct{} returns an error: ./prog.go:3:6: invalid recursive type T1 ./prog.go:3:6: T1 refers to ./prog.go:4:6: T2 refers to ./prog.go:3:6: T1 With the patch applied the error message looks like: ./prog.go:3:6: invalid recursive type T1 ./prog.go:3:6: T1 refers to T2 ./prog.go:4:6: T2 refers to T1 Change-Id: Ic07cdffcffb1483c672b241fede4e694269b5b79 GitHub-Last-Rev: cd042fdc384cf5591b3258ca80fdc002bb8c5e0d GitHub-Pull-Request: golang/go#69574 Reviewed-on: https://go-review.googlesource.com/c/go/+/614084 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Tim King <taking@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com>
10 lines
275 B
Go
10 lines
275 B
Go
// Copyright 2022 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 b
|
|
|
|
import "./a"
|
|
|
|
type T a.T[T] // ERROR "invalid recursive type T\n.*T refers to a\.T\n.*a\.T refers to T"
|