]> Cypherpunks.ru repositories - gostls13.git/blobdiff - test/ddd1.go
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / test / ddd1.go
index 1e070093c3fbd11af25f494c0ff4df628d26d6db..e0035559867cf50ece064d0b8dc7ba9b2db90888 100644 (file)
@@ -1,6 +1,6 @@
 // errorcheck
 
-// Copyright 2010 The Go Authors.  All rights reserved.
+// Copyright 2010 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.
 
@@ -17,9 +17,19 @@ var (
        _ = sum(1, 2, 3)
        _ = sum()
        _ = sum(1.0, 2.0)
-       _ = sum(1.5)      // ERROR "integer"
-       _ = sum("hello")  // ERROR ".hello. .type string. as type int|incompatible"
-       _ = sum([]int{1}) // ERROR "\[\]int literal.*as type int|incompatible"
+       _ = sum(1.5)      // ERROR "1\.5 .untyped float constant. as int|integer"
+       _ = sum("hello")  // ERROR ".hello. (.untyped string constant. as int|.type untyped string. as type int)|incompatible"
+       _ = sum([]int{1}) // ERROR "\[\]int{.*}.*as int value"
+)
+
+func sum3(int, int, int) int { return 0 }
+func tuple() (int, int, int) { return 1, 2, 3 }
+
+var (
+       _ = sum(tuple())
+       _ = sum(tuple()...) // ERROR "\.{3} with 3-valued|multiple-value"
+       _ = sum3(tuple())
+       _ = sum3(tuple()...) // ERROR "\.{3} in call to non-variadic|multiple-value|invalid use of .*[.][.][.]"
 )
 
 type T []T
@@ -32,6 +42,8 @@ var (
        _ = funny([]T{}) // ok because []T{} is a T; passes []T{[]T{}}
 )
 
+func Foo(n int) {}
+
 func bad(args ...int) {
        print(1, 2, args...)    // ERROR "[.][.][.]"
        println(args...)        // ERROR "[.][.][.]"
@@ -41,12 +53,12 @@ func bad(args ...int) {
        _ = new(int...) // ERROR "[.][.][.]"
        n := 10
        _ = make([]byte, n...)  // ERROR "[.][.][.]"
-       // TODO(rsc): enable after gofmt bug is fixed
-       //      _ = make([]byte, 10 ...)        // error "[.][.][.]"
+       _ = make([]byte, 10 ...)        // ERROR "[.][.][.]"
        var x int
        _ = unsafe.Pointer(&x...)       // ERROR "[.][.][.]"
        _ = unsafe.Sizeof(x...) // ERROR "[.][.][.]"
        _ = [...]byte("foo") // ERROR "[.][.][.]"
        _ = [...][...]int{{1,2,3},{4,5,6}}      // ERROR "[.][.][.]"
-}
 
+       Foo(x...) // ERROR "\.{3} in call to non-variadic|invalid use of .*[.][.][.]"
+}