1
0
mirror of https://github.com/golang/go synced 2024-11-16 19:54:55 -07:00
go/test/fixedbugs/issue59190.go

40 lines
688 B
Go
Raw Normal View History

// errorcheck
// Copyright 2023 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 p
import "unsafe"
type E [1 << 30]complex128
var a [1 << 30]E
var _ = unsafe.Sizeof(a) // ERROR "too large"
var s struct {
_ [1 << 30]E
x int
}
var _ = unsafe.Offsetof(s.x) // ERROR "too large"
// Test case from issue (modified so it also triggers on 32-bit platforms).
type A [1]int
type S struct {
x A
y [1 << 30]A
z [1 << 30]struct{}
}
type T [1 << 30][1 << 30]S
func _() {
var a A
var s S
var t T
_ = unsafe.Sizeof(a)
_ = unsafe.Sizeof(s)
_ = unsafe.Sizeof(t) // ERROR "too large"
}