]> Cypherpunks.ru repositories - gostls13.git/blobdiff - test/named1.go
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / test / named1.go
index 21019533cebafc0b4dba8a4ffb16c199ccdeb20f..452c6da27e259c543fc9833578a0a1bc63bff7b8 100644 (file)
@@ -1,57 +1,62 @@
-// errchk $G -e $D/$F.go
+// errorcheck
 
-// Copyright 2009 The Go Authors.  All rights reserved.
+// 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.
 
 // Test that basic operations on named types are valid
 // and preserve the type.
+// Does not compile.
 
 package main
 
 type Bool bool
 
 type Map map[int]int
+
 func (Map) M() {}
 
-func asBool(Bool) {}
+type Slice []byte
+
+var slice Slice
+
+func asBool(Bool)     {}
+func asString(String) {}
+
+type String string
 
 func main() {
        var (
-               b Bool = true;
-               i, j int;
-               c = make(chan int);
-               m = make(Map);
+               b    Bool = true
+               i, j int
+               c    = make(chan int)
+               m    = make(Map)
        )
 
-       asBool(b);
-       asBool(!b);
-       asBool(true);
-       asBool(*&b);
-       asBool(Bool(true));
-       asBool(1!=2);   // ERROR "cannot use.*type bool.*as type Bool"
-       asBool(i < j);  // ERROR "cannot use.*type bool.*as type Bool"
-
-       _, b = m[2];    // ERROR "cannot .* bool.*type Bool"
-       m[2] = 1, b;    // ERROR "cannot use.*type Bool.*as type bool"
+       asBool(b)
+       asBool(!b)
+       asBool(true)
+       asBool(*&b)
+       asBool(Bool(true))
+       asBool(1 != 2) // ok now
+       asBool(i < j)  // ok now
 
-       b = c<-1;       // ERROR "cannot use.*type bool.*type Bool"
-       _ = b;
-       asBool(c<-1);   // ERROR "cannot use.*type bool.*as type Bool"
+       _, b = m[2] // ok now
 
-       _, b = <-c;     // ERROR "cannot .* bool.*type Bool"
-       _ = b;
+       var inter interface{}
+       _, b = inter.(Map) // ok now
+       _ = b
 
-       var inter interface{};
-       _, b = inter.(Map);     // ERROR "cannot .* bool.*type Bool"
-       _ = b;
+       var minter interface {
+               M()
+       }
+       _, b = minter.(Map) // ok now
+       _ = b
 
-       var minter interface{M()};
-       _, b = minter.(Map);    // ERROR "cannot .* bool.*type Bool"
-       _ = b;
+       _, bb := <-c
+       asBool(bb) // ERROR "cannot use.*type bool.*as type Bool|cannot use bb"
+       _, b = <-c // ok now
+       _ = b
 
-       asBool(closed(c));      // ERROR "cannot use.*type bool.*as type Bool"
-       b = closed(c);          // ERROR "cannot use.*type bool.*type Bool"
-       _ = b;
+       asString(String(slice)) // ok
 }
-