/usr/share/go-1.10/test/fixedbugs/issue22083.go is in golang-1.10-src 1.10.1-1ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | // 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
}
|