summaryrefslogtreecommitdiffstats
path: root/src/internal/types/testdata/fixedbugs/issue52031.go
blob: 448a550b250ca7756602bb58011d34f04b39989f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// -lang=go1.12

// Copyright 2022 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

type resultFlags uint

// Example from #52031.
//
// The following shifts should not produce errors on Go < 1.13, as their
// untyped constant operands are representable by type uint.
const (
	_ resultFlags = (1 << iota) / 2

	reportEqual
	reportUnequal
	reportByIgnore
	reportByMethod
	reportByFunc
	reportByCycle
)

// Invalid cases.
var x int = 1
var _ = (8 << x /* ERROR "signed shift count .* requires go1.13 or later" */)

const _ = (1 << 1.2 /* ERROR "truncated to uint" */)

var y float64
var _ = (1 << y /* ERROR "must be integer" */)