mirror of
https://github.com/golang/go
synced 2024-11-13 17:20:22 -07:00
9169c27eaa
bug363.go:13:12: error: invalid context-determined non-integer type for shift operand bug363.go:16:12: error: invalid context-determined non-integer type for shift operand pointer.go:34:6: error: incompatible type in initialization (pointer to interface type has no methods) pointer.go:36:6: error: incompatible type in initialization method2.go:15:1: error: invalid pointer or interface receiver type method2.go:16:1: error: invalid pointer or interface receiver type method2.go:21:1: error: invalid pointer or interface receiver type method2.go:22:1: error: invalid pointer or interface receiver type method2.go:28:15: error: type ‘*Val’ has no method ‘val’ method2.go:33:11: error: reference to undefined field or method ‘val’ shift1.go:19:16: error: invalid context-determined non-integer type for shift operand shift1.go:24:19: error: invalid context-determined non-integer type for shift operand shift1.go:25:17: error: invalid context-determined non-integer type for shift operand shift1.go:18:18: error: shift of non-integer operand shift1.go:26:13: error: floating point constant truncated to integer shift1.go:33:15: error: integer constant overflow shift1.go:34:15: error: integer constant overflow shift1.go:35:17: error: integer constant overflow R=golang-dev, r CC=golang-dev https://golang.org/cl/5081051
37 lines
923 B
Go
37 lines
923 B
Go
// errchk $G -e $D/$F.go
|
|
|
|
// Copyright 2011 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.
|
|
|
|
// Issue 1708, illegal cases.
|
|
|
|
package p
|
|
|
|
func f(x int) int { return 0 }
|
|
func g(x interface{}) int { return 0 }
|
|
func h(x float64) int { return 0 }
|
|
|
|
// from the spec
|
|
var (
|
|
s uint = 33
|
|
u = 1.0 << s // ERROR "invalid operation|shift of non-integer operand"
|
|
v float32 = 1 << s // ERROR "invalid" "as type float32"
|
|
)
|
|
|
|
// non-constant shift expressions
|
|
var (
|
|
e1 = g(2.0 << s) // ERROR "invalid" "as type interface"
|
|
f1 = h(2 << s) // ERROR "invalid" "as type float64"
|
|
g1 int64 = 1.1 << s // ERROR "truncated"
|
|
)
|
|
|
|
// constant shift expressions
|
|
const c uint = 65
|
|
|
|
var (
|
|
a2 int = 1.0 << c // ERROR "overflow"
|
|
b2 = 1.0 << c // ERROR "overflow"
|
|
d2 = f(1.0 << c) // ERROR "overflow"
|
|
)
|