From: Austin Clements Date: Sat, 17 Apr 2021 01:50:46 +0000 (-0400) Subject: internal/buildcfg: set Error instead of panicking X-Git-Tag: go1.17beta1~257 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=e15d1f4e64;p=gostls13.git internal/buildcfg: set Error instead of panicking All build environment validation sets Error except for the GOEXPERIMENT parser, which panics. Change it to also set Error so that a bad GOEXPERIMENT doesn't cause everything that imports internal/buildcfg to panic on init. Change-Id: Ie9a506ef0978ecb410f2dcd784638f2167354175 Reviewed-on: https://go-review.googlesource.com/c/go/+/310970 Trust: Austin Clements Run-TryBot: Austin Clements TryBot-Result: Go Bot Reviewed-by: Jay Conrod --- diff --git a/src/internal/buildcfg/exp.go b/src/internal/buildcfg/exp.go index ef769b5415..2435a79dce 100644 --- a/src/internal/buildcfg/exp.go +++ b/src/internal/buildcfg/exp.go @@ -108,10 +108,10 @@ func parseExperiments() goexperiment.Flags { } // Check regabi dependencies. if flags.RegabiG && !flags.RegabiWrappers { - panic("GOEXPERIMENT regabig requires regabiwrappers") + Error = fmt.Errorf("GOEXPERIMENT regabig requires regabiwrappers") } if flags.RegabiArgs && !(flags.RegabiWrappers && flags.RegabiG && flags.RegabiReflect && flags.RegabiDefer) { - panic("GOEXPERIMENT regabiargs requires regabiwrappers,regabig,regabireflect,regabidefer") + Error = fmt.Errorf("GOEXPERIMENT regabiargs requires regabiwrappers,regabig,regabireflect,regabidefer") } return flags }