From: Josh Bleecher Snyder Date: Fri, 17 Apr 2020 01:26:12 +0000 (-0700) Subject: test: add test for nil check / bounds check compiler confusion X-Git-Tag: go1.15beta1~524 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=29d925dfcf7dc577e46d4557a5ef6eaa7f2a67af;p=gostls13.git test: add test for nil check / bounds check compiler confusion This test started failing at CL 228106 and was fixed by CL 228677. Fixes #38496 Change-Id: I2dadcd99227347e8d28179039f5f345e728c4595 Reviewed-on: https://go-review.googlesource.com/c/go/+/228698 Run-TryBot: Josh Bleecher Snyder TryBot-Result: Gobot Gobot Reviewed-by: Matthew Dempsky Reviewed-by: Keith Randall --- diff --git a/test/fixedbugs/issue38496.go b/test/fixedbugs/issue38496.go new file mode 100644 index 0000000000..717aa5d41d --- /dev/null +++ b/test/fixedbugs/issue38496.go @@ -0,0 +1,20 @@ +// run + +// Copyright 2020 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Make sure bounds check elision isn't confused with nil check elision. + +package main + +func main() { + defer func() { + err := recover() + if err == nil { + panic("failed to check nil ptr") + } + }() + var m [2]*int + _ = *m[1] // need a nil check, but not a bounds check +}