1// run 2 3// Copyright 2017 The Go Authors. All rights reserved. 4// Use of this source code is governed by a BSD-style 5// license that can be found in the LICENSE file. 6 7package main 8 9import "os" 10 11func panicWhenNot(cond bool) { 12 if cond { 13 os.Exit(0) 14 } else { 15 panic("nilcheck elim failed") 16 } 17} 18 19func main() { 20 e := (*string)(nil) 21 panicWhenNot(e == e) 22 // Should never reach this line. 23 panicWhenNot(*e == *e) 24} 25