| // compile |
| |
| // Copyright 2018 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. |
| |
| // Non-constant duplicate keys/cases should not be reported |
| // as errors by the compiler. |
| |
| package p |
| |
| import "unsafe" |
| |
| func f() { |
| _ = map[uintptr]int{ |
| 0: 0, |
| uintptr(unsafe.Pointer(nil)): 0, |
| } |
| |
| switch uintptr(0) { |
| case 0: |
| case uintptr(unsafe.Pointer(nil)): |
| } |
| |
| switch interface{}(nil) { |
| case nil: |
| case nil: |
| } |
| |
| _ = map[interface{}]int{ |
| nil: 0, |
| nil: 0, |
| } |
| } |