const AliasTypeParams = true
const AliasTypeParamsInt = 1
const Arenas = false
const ArenasInt = 0
const BoringCrypto = false
const BoringCryptoInt = 0
const CacheProg = false
const CacheProgInt = 0
const CgoCheck2 = false
const CgoCheck2Int = 0
const Dwarf5 = true
const Dwarf5Int = 1
const FieldTrack = false
const FieldTrackInt = 0
const GreenTeaGC = false
const GreenTeaGCInt = 0
const HeapMinimum512KiB = false
const HeapMinimum512KiBInt = 0
const JSONv2 = false
const JSONv2Int = 0
const LoopVar = false
const LoopVarInt = 0
const NewInliner = false
const NewInlinerInt = 0
const PreemptibleLoops = false
const PreemptibleLoopsInt = 0
const RangeFunc = false
const RangeFuncInt = 0
const RegabiArgs = true
const RegabiArgsInt = 1
const RegabiWrappers = true
const RegabiWrappersInt = 1
const StaticLockRanking = false
const StaticLockRankingInt = 0
const SwissMap = true
const SwissMapInt = 1
const SyncHashTrieMap = true
const SyncHashTrieMapInt = 1
const Synctest = false
const SynctestInt = 0
Flags is the set of experiments that can be enabled or disabled in the current toolchain.
When specified in the GOEXPERIMENT environment variable or as build tags, experiments use the strings.ToLower of their field name.
For the baseline experimental configuration, see internal/buildcfg.Experiment.
If you change this struct definition, run "go generate".
type Flags struct { FieldTrack bool PreemptibleLoops bool StaticLockRanking bool BoringCrypto bool // RegabiWrappers enables ABI wrappers for calling between // ABI0 and ABIInternal functions. Without this, the ABIs are // assumed to be identical so cross-ABI calls are direct. RegabiWrappers bool // RegabiArgs enables register arguments/results in all // compiled Go functions. // // Requires wrappers (to do ABI translation), and reflect (so // reflection calls use registers). RegabiArgs bool // HeapMinimum512KiB reduces the minimum heap size to 512 KiB. // // This was originally reduced as part of PacerRedesign, but // has been broken out to its own experiment that is disabled // by default. HeapMinimum512KiB bool // Arenas causes the "arena" standard library package to be visible // to the outside world. Arenas bool // CgoCheck2 enables an expensive cgo rule checker. // When this experiment is enabled, cgo rule checks occur regardless // of the GODEBUG=cgocheck setting provided at runtime. CgoCheck2 bool // LoopVar changes loop semantics so that each iteration gets its own // copy of the iteration variable. LoopVar bool // CacheProg adds support to cmd/go to use a child process to implement // the build cache; see https://github.com/golang/go/issues/59719. CacheProg bool // NewInliner enables a new+improved version of the function // inlining phase within the Go compiler. NewInliner bool // RangeFunc enables range over func. RangeFunc bool // AliasTypeParams enables type parameters for alias types. // Requires that gotypesalias=1 is set with GODEBUG. // This flag will be removed with Go 1.25. AliasTypeParams bool // SwissMap enables the SwissTable-based map implementation. SwissMap bool // SyncHashTrieMap enables the HashTrieMap sync.Map implementation. SyncHashTrieMap bool // Synctest enables the testing/synctest package. Synctest bool // Dwarf5 enables DWARF version 5 debug info generation. Dwarf5 bool // JSONv2 enables the json/v2 package. JSONv2 bool // GreenTeaGC enables the Green Tea GC implementation. GreenTeaGC bool }