• Robert Griesemer's avatar
    spec: document that duplicate types are invalid in type switches · 3d81d4ad
    Robert Griesemer authored
    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/23584Reviewed-by: default avatarRob Pike <r@golang.org>
    Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
    3d81d4ad
go_spec.html 193 KB