Please take special care when working on risky changes. As a reminder:
A change is risky if it can cause failures that are hard to diagnose (for example, changes to the runtime, GC, compiler, linker, TLS, other low-level component, or complex changes that need soak time under production workloads), or if it requires many CLs that are hard to revert (for example, large CLs or stacks of CLs).
If you plan on working on a change that may be risky, please do the following:
go125
, that can be used to quickly toggle back to the old implementation. It can be a simple bool constant, for example, const go125UseEvenBetterLinker = true
. Such flags must be findable by a simple grep for the string go125
. That way we can find them without missing any, and they can be cleaned up when we get to the Go 1.26 cycle.