Russ Cox | 54b0065 | 2009-05-22 09:53:37 -0700 | [diff] [blame] | 1 | // $G $D/$F.go && $L $F.$A && ./$A.out |
| 2 | |
| 3 | // Copyright 2009 The Go Authors. All rights reserved. |
| 4 | // Use of this source code is governed by a BSD-style |
| 5 | // license that can be found in the LICENSE file. |
| 6 | |
| 7 | // Check that static interface conversion of |
| 8 | // interface value nil succeeds. |
| 9 | |
| 10 | package main |
| 11 | |
Rob Pike | 4f61fc9 | 2010-09-04 10:36:13 +1000 | [diff] [blame] | 12 | type R interface { R() } |
| 13 | type RW interface { R(); W() } |
Russ Cox | 54b0065 | 2009-05-22 09:53:37 -0700 | [diff] [blame] | 14 | |
| 15 | var e interface {} |
Rob Pike | 4f61fc9 | 2010-09-04 10:36:13 +1000 | [diff] [blame] | 16 | var r R |
| 17 | var rw RW |
Russ Cox | 54b0065 | 2009-05-22 09:53:37 -0700 | [diff] [blame] | 18 | |
| 19 | func main() { |
Rob Pike | 4f61fc9 | 2010-09-04 10:36:13 +1000 | [diff] [blame] | 20 | r = r |
| 21 | r = rw |
| 22 | e = r |
| 23 | e = rw |
| 24 | rw = rw |
Russ Cox | 54b0065 | 2009-05-22 09:53:37 -0700 | [diff] [blame] | 25 | } |