From 38c766ee0fe22bfcc81e569fccfe9aef2682f63c Mon Sep 17 00:00:00 2001
From: Robert Griesemer <gri@golang.org>
Date: Thu, 8 Aug 2024 13:54:56 -0700
Subject: [PATCH] types2: move RangeKeyVal func into compilersupport.go

This function only exists in types2.

Change-Id: If0a8b6aaf496142cefdf088bd5656536f4ed101c
Reviewed-on: https://go-review.googlesource.com/c/go/+/604276
Reviewed-by: Robert Griesemer <gri@google.com>
Reviewed-by: Robert Findley <rfindley@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Robert Griesemer <gri@google.com>
---
 src/cmd/compile/internal/types2/compilersupport.go | 8 ++++++++
 src/cmd/compile/internal/types2/stmt.go            | 7 -------
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/cmd/compile/internal/types2/compilersupport.go b/src/cmd/compile/internal/types2/compilersupport.go
index 33dd8e8baac..e98675f9c58 100644
--- a/src/cmd/compile/internal/types2/compilersupport.go
+++ b/src/cmd/compile/internal/types2/compilersupport.go
@@ -28,3 +28,11 @@ func AsSignature(t Type) *Signature {
 func CoreType(t Type) Type {
 	return coreType(t)
 }
+
+// RangeKeyVal returns the key and value types for a range over typ.
+// It panics if range over typ is invalid.
+func RangeKeyVal(typ Type) (Type, Type) {
+	key, val, _, ok := rangeKeyVal(typ, nil)
+	assert(ok)
+	return key, val
+}
diff --git a/src/cmd/compile/internal/types2/stmt.go b/src/cmd/compile/internal/types2/stmt.go
index 3027aef2e7a..c381187fd3a 100644
--- a/src/cmd/compile/internal/types2/stmt.go
+++ b/src/cmd/compile/internal/types2/stmt.go
@@ -1001,13 +1001,6 @@ func (check *Checker) rangeStmt(inner stmtContext, s *syntax.ForStmt, rclause *s
 	check.stmt(inner, s.Body)
 }
 
-// RangeKeyVal returns the key and value types for a range over typ.
-// Exported for use by the compiler (does not exist in go/types).
-func RangeKeyVal(typ Type) (Type, Type) {
-	key, val, _, _ := rangeKeyVal(typ, nil)
-	return key, val
-}
-
 // rangeKeyVal returns the key and value type produced by a range clause
 // over an expression of type typ.
 // If allowVersion != nil, it is used to check the required language version.
-- 
GitLab