// run // Copyright 2012 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 no-op conversion here used to confuse the compiler // into doing a load-effective-address of nil. // See issue 3670. package main import "reflect" type T interface {} var x bool func main() { reflect.TypeOf(nil) reflect.TypeOf(T(nil)) // used to miscompile shouldPanic() } func f() byte { return []byte(nil)[0] // used to miscompile } func shouldPanic() { defer func() { if recover() == nil { panic("not panicking") } }() f() }