From e15d1f4e641641363b8791c2caecc06a43c1c615 Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Fri, 16 Apr 2021 21:50:46 -0400 Subject: [PATCH] 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 --- src/internal/buildcfg/exp.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 } -- 2.50.0