blob: 621140aa60586ec5edb76eeaa7165930b1fc1454 [file] [log] [blame]
// Copyright 2024 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.
//go:build goexperiment.swissmap
package reflect_test
import (
"reflect"
"testing"
)
func testGCBitsMap(t *testing.T) {
// Unlike old maps, we don't manually construct GC data for swiss maps,
// instead using the public reflect API in groupAndSlotOf.
}
// See also runtime_test.TestGroupSizeZero.
func TestGroupSizeZero(t *testing.T) {
st := reflect.TypeFor[struct{}]()
grp := reflect.MapGroupOf(st, st)
// internal/runtime/maps when create pointers to slots, even if slots
// are size 0. We should have reserved an extra word to ensure that
// pointers to the zero-size type at the end of group are valid.
if grp.Size() <= 8 {
t.Errorf("Group size got %d want >8", grp.Size())
}
}