From 12dc48fd54d4bfc0c25e2a96aa7fecfacb9087ca Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Wed, 27 Oct 2021 17:28:36 -0700 Subject: [PATCH] cmd/compile/internal/types2: export Structure function For #48538. Change-Id: I258b0c8af5801692ad238e47397dde0b4e3c44c1 Reviewed-on: https://go-review.googlesource.com/c/go/+/359275 Trust: Robert Griesemer Trust: Dan Scales Reviewed-by: Dan Scales --- src/cmd/compile/internal/types2/builtins.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/cmd/compile/internal/types2/builtins.go b/src/cmd/compile/internal/types2/builtins.go index e8de0077d4..c5c6bdf0a5 100644 --- a/src/cmd/compile/internal/types2/builtins.go +++ b/src/cmd/compile/internal/types2/builtins.go @@ -767,6 +767,16 @@ func (check *Checker) builtin(x *operand, call *syntax.CallExpr, id builtinId) ( return true } +// Structure is exported for the compiler. + +// If typ is a type parameter, Structure returns the single underlying +// type of all types in the corresponding type constraint if it exists, +// or nil otherwise. If typ is not a type parameter, Structure returns +// the underlying type. +func Structure(typ Type) Type { + return structure(typ) +} + // If typ is a type parameter, structure returns the single underlying // type of all types in the corresponding type constraint if it exists, // or nil otherwise. If typ is not a type parameter, structure returns -- 2.50.0