| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/go/test/fixedbugs/ |
Upload File : |
// run
// Copyright 2017 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.
// The compiler was panicking on the wrong line number, where
// the panic was occurring in an inlined call.
package main
import (
"runtime/debug"
"strings"
)
type Wrapper struct {
a []int
}
func (w Wrapper) Get(i int) int {
return w.a[i]
}
func main() {
defer func() {
e := recover()
if e == nil {
panic("bounds check didn't fail")
}
stk := string(debug.Stack())
if !strings.Contains(stk, "issue22083.go:40") {
panic("wrong stack trace: " + stk)
}
}()
foo := Wrapper{a: []int{0, 1, 2}}
_ = foo.Get(0)
_ = foo.Get(1)
_ = foo.Get(2)
_ = foo.Get(3) // stack trace should mention this line
}