D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
3206095
/
root
/
opt
/
golang
/
1.22.0
/
test
/
abi
/
Filename :
open_defer_1.go
back
Copy
// run // Copyright 2021 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. // For #45062, miscompilation of open defer of method invocation package main func main() { var x, y, z int = -1, -2, -3 F(x, y, z) } //go:noinline func F(x, y, z int) { defer i.M(x, y, z) defer func() { recover() }() panic("XXX") } type T int func (t *T) M(x, y, z int) { if x == -1 && y == -2 && z == -3 { return } println("FAIL: Expected -1, -2, -3, but x, y, z =", x, y, z) } var t T = 42 type I interface{ M(x, y, z int) } var i I = &t