// -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 /* ERRORx `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" */)