1// run 2 3// Copyright 2014 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 9func shouldPanic(f func()) { 10 defer func() { 11 if recover() == nil { 12 panic("not panicking") 13 } 14 }() 15 f() 16} 17 18func f() { 19 length := int(^uint(0) >> 1) 20 a := make([]struct{}, length) 21 b := make([]struct{}, length) 22 _ = append(a, b...) 23} 24 25func main() { 26 shouldPanic(f) 27} 28