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>
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
+}
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.