]> Cypherpunks repositories - gostls13.git/commit
spec: fix prose about terminating statements
authorRobert Griesemer <gri@golang.org>
Sat, 11 Sep 2021 00:06:43 +0000 (17:06 -0700)
committerRobert Griesemer <gri@golang.org>
Mon, 13 Sep 2021 22:57:34 +0000 (22:57 +0000)
commit9a58aa267e3686c86d3e5bf1d14117a2a127838c
tree4fd7c6b5ab41ff640c7688e71bff99eeef097041
parent42057e9848d40fc6181cd7a68fd788c652772b8d
spec: fix prose about terminating statements

CL 85215 added prose to provide some minimal intuition for the
definition of a "terminating statement". While the original definition
was perfectly fine, the added prose was actually incorrect: If the
terminating statement is a goto, it might jump to a labeled statement
following that goto in the same block (it could be the very next
statement), and thus a terminating statement does not in fact
"prevent execution of all statements that lexically appear after
it in the same block".

Rather than explaining the special case for gotos with targets that
are lexically following the goto in the same block, this CL opts for
a simpler approach.

Thanks to @3bodar (Github) for finding this.

Fixes #48323.

Change-Id: I8031346250341d038938a1ce6a75d3e687d32c37
Reviewed-on: https://go-review.googlesource.com/c/go/+/349172
Trust: Robert Griesemer <gri@golang.org>
Trust: Emmanuel Odeke <emmanuel@orijtech.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Emmanuel Odeke <emmanuel@orijtech.com>
Reviewed-by: Rob Pike <r@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
doc/go_spec.html