/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/fixedbugs/issue15975.go
36 строк
572 B
Cherry Zhang
cmd/compile: nilcheck interface value in go/defer interface call for SSA
08 июн 2016, 23:35
08 июн 2016, 23:35
f3689d1
Код
Авторство
О чём код?
// run // Copyright 2016 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 var fail bool type Closer interface { Close() } func nilInterfaceDeferCall() { var x Closer defer x.Close() // if it panics when evaluating x.Close, it should not reach here fail = true } func shouldPanic(f func()) { defer func() { if recover() == nil { panic("did not panic") } }() f() } func main() { shouldPanic(nilInterfaceDeferCall) if fail { panic("fail") } }