23 lines
969 B
Go
23 lines
969 B
Go
// 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 abi
|
|
|
|
// Select the map type that this binary is built using. This is for common
|
|
// lookup methods like Type.Key to know which type to use.
|
|
//
|
|
// Note that mapType *must not be used by any functions called in the
|
|
// compiler to build a target program* because the compiler must use the map
|
|
// type determined by run-time GOEXPERIMENT, not the build tags used to build
|
|
// the compiler.
|
|
//
|
|
// TODO(prattmic): This package is rather confusing because it has many
|
|
// functions that can't be used by the compiler (e.g., Type.Uncommon depends on
|
|
// the layout of type + uncommon objects in the binary. It would be incorrect
|
|
// for an ad-hoc local Type object). It may be best to move code that isn't
|
|
// usable by the compiler out of the package.
|
|
type mapType = SwissMapType
|