From e2d2d3a4a6edf1e571a5aca1eaaf55ffcc4d6eba Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Wed, 31 Aug 2022 17:40:21 -0700 Subject: [PATCH] go/types: test shifts that are disabled in shared test file CL 425735 consolidated the testdata/check/shifts.go files between go/types and types2. Because some shifts don't work correctly with types2, the corresponding tests were disabled in the shared file. Make sure we keep testing those shifts for go/types by adding a local test file. For #52080. For #54511. Change-Id: I53507e535bf83b204eaf18fc6c2efefcebf5ebf7 Reviewed-on: https://go-review.googlesource.com/c/go/+/426661 Reviewed-by: Robert Findley Run-TryBot: Robert Griesemer TryBot-Result: Gopher Robot Reviewed-by: Robert Griesemer --- src/go/types/testdata/local/shifts.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/go/types/testdata/local/shifts.go diff --git a/src/go/types/testdata/local/shifts.go b/src/go/types/testdata/local/shifts.go new file mode 100644 index 0000000000..cf847d3e44 --- /dev/null +++ b/src/go/types/testdata/local/shifts.go @@ -0,0 +1,27 @@ +// 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. + +// The following shift tests are disabled in the shared +// testdata/check/shifts.go file because they don't work +// correctly with types2 at the moment. See issue #52080. +// Make sure we keep testing them with go/types. +// +// TODO(gri) Once #52080 is fixed, this file can be +// deleted in favor of the re-enabled tests +// in the shared file. + +package p + +func _() { + var s uint + + _ = int32(0x80000000 /* ERROR "overflows int32" */ << s) + // TODO(rfindley) Eliminate the redundant error here. + _ = int32(( /* ERROR "truncated to int32" */ 0x80000000 /* ERROR "truncated to int32" */ + 0i) << s) + + _ = int(1 + 0i<<0) + _ = int((1 + 0i) << s) + _ = int(1.0 << s) + _ = int(complex(1, 0) << s) +} -- 2.48.1