• Matthew Dempsky's avatar
    cmd/compile: unify duplicate const detection logic · 6fa7669f
    Matthew Dempsky authored
    Consistent logic for handling both duplicate map keys and case values,
    and eliminates ad hoc value hashing code.
    
    Also makes cmd/compile consistent with go/types's handling of
    duplicate constants (see #28085), which is at least an improvement
    over the status quo even if we settle on something different for the
    spec.
    
    As a side effect, this also suppresses cmd/compile's warnings about
    duplicate nils in (non-interface expression) switch statements, which
    was technically never allowed by the spec anyway.
    
    Updates #28085.
    Updates #28378.
    
    Change-Id: I176a251e770c3c5bc11c2bf8d1d862db8f252a17
    Reviewed-on: https://go-review.googlesource.com/c/152544
    Run-TryBot: Matthew Dempsky <mdempsky@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarRobert Griesemer <gri@golang.org>
    6fa7669f
const.go 28.7 KB