go/test/makechan.go
Robert Griesemer 5aca6e7857 [dev.typeparams] test: finish triaging all outstanding failing tests
Also: Adjusted error patterns for passing test that have different
error messages.

Change-Id: I216294b4c4855aa93da22cdc3c0b3303e54a8420
Reviewed-on: https://go-review.googlesource.com/c/go/+/277994
Trust: Robert Griesemer <gri@golang.org>
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
2020-12-14 21:28:48 +00:00

28 lines
1 KiB
Go

// errorcheck
// Copyright 2017 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.
// Ensure that typed non-integer, negative and to large
// values are not accepted as size argument in make for
// channels.
package main
type T chan byte
var sink T
func main() {
sink = make(T, -1) // ERROR "negative buffer argument in make.*|must not be negative"
sink = make(T, uint64(1<<63)) // ERROR "buffer argument too large in make.*|out of bounds"
sink = make(T, 0.5) // ERROR "constant 0.5 truncated to integer|truncated to int"
sink = make(T, 1.0)
sink = make(T, float32(1.0)) // ERROR "non-integer buffer argument in make.*|must be integer"
sink = make(T, float64(1.0)) // ERROR "non-integer buffer argument in make.*|must be integer"
sink = make(T, 1+0i)
sink = make(T, complex64(1+0i)) // ERROR "non-integer buffer argument in make.*|must be integer"
sink = make(T, complex128(1+0i)) // ERROR "non-integer buffer argument in make.*|must be integer"
}