0
1
mirror of https://github.com/golang/go synced 2025-11-08 01:56:18 +00:00
Files
go/test/fixedbugs/issue76008.go
Keith Randall bd4dc413cd cmd/compile: don't optimize away a panicing interface comparison
We can't do direct pointer comparisons if the type is not a
comparable type.

Fixes #76008

Change-Id: I1687acff21832d2c2e8f3b875e7b5ec125702ef3
Reviewed-on: https://go-review.googlesource.com/c/go/+/713840
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: Keith Randall <khr@google.com>
2025-10-28 10:24:14 -07:00

36 lines
609 B
Go

// run
// Copyright 2025 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package main
import "runtime"
func main() {
shouldPanic(func() {
g = any(func() {}) == any(func() {})
})
shouldPanic(func() {
g = any(map[int]int{}) == any(map[int]int{})
})
shouldPanic(func() {
g = any([]int{}) == any([]int{})
})
}
var g bool
func shouldPanic(f func()) {
defer func() {
err := recover()
if err == nil {
_, _, line, _ := runtime.Caller(2)
println("did not panic at line", line+1)
}
}()
f()
}