mirror of
https://github.com/golang/go
synced 2024-09-05 07:54:46 +00:00
![Rob Pike](/assets/img/avatar_default.png)
Very few of the compiler regression tests include a comment saying waht they do. Many are obvious, some are anything but. I've started with a-c in the top directory. More will follow once we agree on the approach, correctness, and thoroughness here. zerodivide.go sneaked in too. R=rsc, r CC=golang-dev https://golang.org/cl/5656100
30 lines
544 B
Go
30 lines
544 B
Go
// errorcheck
|
|
|
|
// Copyright 2009 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.
|
|
|
|
// Verify allowed and disallowed conversions.
|
|
// Does not compile.
|
|
|
|
package main
|
|
|
|
// everything here is legal except the ERROR line
|
|
|
|
var c chan int
|
|
var d1 chan<- int = c
|
|
var d2 = (chan<- int)(c)
|
|
|
|
var e *[4]int
|
|
var f1 []int = e[0:]
|
|
var f2 = []int(e[0:])
|
|
|
|
var g = []int(nil)
|
|
|
|
type H []int
|
|
type J []int
|
|
|
|
var h H
|
|
var j1 J = h // ERROR "compat|illegal|cannot"
|
|
var j2 = J(h)
|