/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/fixedbugs/issue22083.go
41 строка
791 B
Keith Randall
cmd/compile: fix merge rules for panic calls
03 окт 2017, 12:27
03 окт 2017, 12:27
41eabc0
Код
Авторство
О чём код?
// 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 }