// errorcheck

// Copyright 2019 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.

package p

const (
	zero = iota
	one
	two
	three
)

const iii int = 0x3

func f(v int) {
	switch v {
	case zero, one:
	case two, one: // ERROR "previous case at LINE-1|duplicate case in switch"

	case three:
	case 3: // ERROR "previous case at LINE-1|duplicate case in switch"
	case iii: // ERROR "previous case at LINE-2|duplicate case in switch"
	}
}

const b = "b"

var _ = map[string]int{
	"a": 0,
	b:   1,
	"a": 2, // ERROR "previous key at LINE-2|duplicate key in map literal"
	"b": 3, // GC_ERROR "previous key at LINE-2"
	"b": 4, // GC_ERROR "previous key at LINE-3"
}
