mirror of https://github.com/golang/go.git
go/types, types2: remove misleading example from comment
Before this CL, the comment used the case of a recursive generic function call as an example for uni-directional unification. However, such cases are now more generally (and correctly) addressed through renaming of the type parameters. Change-Id: I69e94f53418e1fb4ca9431aeb27c639c40d19b09 Reviewed-on: https://go-review.googlesource.com/c/go/+/463735 Reviewed-by: Robert Findley <rfindley@google.com> Run-TryBot: Robert Griesemer <gri@google.com> Reviewed-by: Robert Griesemer <gri@google.com> Auto-Submit: Robert Griesemer <gri@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
parent
e9c5e60cfd
commit
627f12868c
|
|
@ -17,15 +17,7 @@ import (
|
|||
// provided to the unify call. For unidirectional unification, only
|
||||
// one of these sets (say x) is provided, and then type parameters are
|
||||
// only resolved for the x argument passed to unify, not the y argument
|
||||
// (even if that also contains possibly the same type parameters). This
|
||||
// is crucial to infer the type parameters of self-recursive calls:
|
||||
//
|
||||
// func f[P any](a P) { f(a) }
|
||||
//
|
||||
// For the call f(a) we want to infer that the type argument for P is P.
|
||||
// During unification, the parameter type P must be resolved to the type
|
||||
// parameter P ("x" side), but the argument type P must be left alone so
|
||||
// that unification resolves the type parameter P to P.
|
||||
// (even if that also contains possibly the same type parameters).
|
||||
//
|
||||
// For bidirectional unification, both sets are provided. This enables
|
||||
// unification to go from argument to parameter type and vice versa.
|
||||
|
|
|
|||
|
|
@ -19,15 +19,7 @@ import (
|
|||
// provided to the unify call. For unidirectional unification, only
|
||||
// one of these sets (say x) is provided, and then type parameters are
|
||||
// only resolved for the x argument passed to unify, not the y argument
|
||||
// (even if that also contains possibly the same type parameters). This
|
||||
// is crucial to infer the type parameters of self-recursive calls:
|
||||
//
|
||||
// func f[P any](a P) { f(a) }
|
||||
//
|
||||
// For the call f(a) we want to infer that the type argument for P is P.
|
||||
// During unification, the parameter type P must be resolved to the type
|
||||
// parameter P ("x" side), but the argument type P must be left alone so
|
||||
// that unification resolves the type parameter P to P.
|
||||
// (even if that also contains possibly the same type parameters).
|
||||
//
|
||||
// For bidirectional unification, both sets are provided. This enables
|
||||
// unification to go from argument to parameter type and vice versa.
|
||||
|
|
|
|||
Loading…
Reference in New Issue