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