]> Cypherpunks.ru repositories - gostls13.git/commit
go/types, types2: implement Alias proposal (export API)
authorRobert Griesemer <gri@golang.org>
Sat, 11 Nov 2023 02:11:15 +0000 (18:11 -0800)
committerGopher Robot <gobot@golang.org>
Mon, 13 Nov 2023 20:18:45 +0000 (20:18 +0000)
commit30de0b5ef4dda725f29fbdb88e1429a6dd3ae8cd
tree413ccc3c257772cb099033677c78a2874d7f86c2
parent42bd21be1cf54876ce24c489852721049ef293e2
go/types, types2: implement Alias proposal (export API)

This CL exports the previously unexported Alias type and
corresponding functions and methods per issue #63223.

Whether Alias types are used or not is controlled by
the gotypesalias setting with the GODEBUG environment
variable. Setting gotypesalias to "1" enables the Alias
types:

GODEBUG=gotypesalias=1

By default, gotypesalias is not set.

Adjust test cases that enable/disable the use of Alias
types to use -gotypesalias=1 or -gotypesalias=0 rather
than -alias and -alias=false for consistency and to
avoid confusion.

For #63223.

Change-Id: I51308cad3320981afac97dd8c6f6a416fdb0be55
Reviewed-on: https://go-review.googlesource.com/c/go/+/541737
Run-TryBot: Robert Griesemer <gri@google.com>
Reviewed-by: Robert Findley <rfindley@google.com>
Auto-Submit: Robert Griesemer <gri@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@google.com>
46 files changed:
api/next/63223.txt [new file with mode: 0644]
doc/godebug.md
src/cmd/compile/internal/types2/alias.go
src/cmd/compile/internal/types2/api.go
src/cmd/compile/internal/types2/check.go
src/cmd/compile/internal/types2/check_test.go
src/cmd/compile/internal/types2/decl.go
src/cmd/compile/internal/types2/infer.go
src/cmd/compile/internal/types2/issues_test.go
src/cmd/compile/internal/types2/lookup.go
src/cmd/compile/internal/types2/mono.go
src/cmd/compile/internal/types2/named.go
src/cmd/compile/internal/types2/object.go
src/cmd/compile/internal/types2/predicates.go
src/cmd/compile/internal/types2/resolver.go
src/cmd/compile/internal/types2/signature.go
src/cmd/compile/internal/types2/typestring.go
src/cmd/compile/internal/types2/typexpr.go
src/cmd/compile/internal/types2/unify.go
src/cmd/compile/internal/types2/validtype.go
src/go/types/alias.go
src/go/types/api.go
src/go/types/check.go
src/go/types/check_test.go
src/go/types/decl.go
src/go/types/infer.go
src/go/types/issues_test.go
src/go/types/lookup.go
src/go/types/mono.go
src/go/types/named.go
src/go/types/object.go
src/go/types/predicates.go
src/go/types/resolver.go
src/go/types/signature.go
src/go/types/typestring.go
src/go/types/typexpr.go
src/go/types/unify.go
src/go/types/validtype.go
src/internal/godebugs/table.go
src/internal/types/testdata/check/cycles5.go
src/internal/types/testdata/check/cycles5a.go
src/internal/types/testdata/fixedbugs/issue46461.go
src/internal/types/testdata/fixedbugs/issue46461a.go
src/internal/types/testdata/fixedbugs/issue50779.go
src/internal/types/testdata/fixedbugs/issue50779a.go
src/runtime/metrics/doc.go