// run

// Copyright 2014 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

func shouldPanic(f func()) {
        defer func() {
                if recover() == nil {
                        panic("not panicking")
                }
        }()
        f()
}

func f() {
        length := int(^uint(0) >> 1)
        a := make([]struct{}, length)
        b := make([]struct{}, length)
        _ = append(a, b...)
}

func main() {
	shouldPanic(f)
}