From cbd53f2c119805657255997af97bbb0e45cb619b Mon Sep 17 00:00:00 2001
From: Michael Anthony Knyszek
+ Go 1.21 now defines that if a goroutine is panicking and recover was called directly by a deferred
+ function, the return value of recover is guaranteed not to be nil. To ensure this, calling panic
+ with a nil interface value (or an untyped nil) causes a run-time panic of type
+ *runtime.PanicNilError
.
+
+ To support programs written for older versions of Go, nil panics can be re-enabled by setting
+ GODEBUG=panicnil=1
.
+ This setting is enabled automatically when compiling a program whose main package
+ is in a module with that declares go
1.20
or earlier.
+
Go 1.21 adds improved support for backwards compatibility and forwards compatibility