]> Cypherpunks repositories - gostls13.git/commit
spec: document that duplicate types are invalid in type switches
authorRobert Griesemer <gri@golang.org>
Tue, 31 May 2016 20:32:34 +0000 (13:32 -0700)
committerRobert Griesemer <gri@golang.org>
Tue, 31 May 2016 23:53:43 +0000 (23:53 +0000)
commit3d81d4adc9419e2fcba5888ab074d3f17eb5eb03
tree7f7f4b4659b52126ed8796e5a8b10c6531b35cd7
parent3659645cb1f32d7b1eeefdb65f1339fe54f0f6eb
spec: document that duplicate types are invalid in type switches

Both compilers and also go/types don't permit duplicate types in
type switches; i.e., this spec change is documenting a status quo
that has existed for some time.

Furthermore, duplicate nils are not accepted by gccgo or go/types;
and more recently started causing a compiler error in gc. Permitting
them is inconsistent with the existing status quo.

Rather than making it an implementation restriction (as we have for
expression switches), this is a hard requirement since it was enforced
from the beginning (except for duplicate nils); it is also a well
specified requirement that does not pose a significant burden for
an implementation.

Fixes #15896.

Change-Id: If12db5bafa87598b323ea84418cb05421e657dd8
Reviewed-on: https://go-review.googlesource.com/23584
Reviewed-by: Rob Pike <r@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
doc/go_spec.html