]> Cypherpunks.ru repositories - gostls13.git/blob - test/fixedbugs/bug455.go
all: make copyright headers consistent with one space after period
[gostls13.git] / test / fixedbugs / bug455.go
1 // run
2
3 // Copyright 2012 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 // Issue 4156: out of fixed registers when chaining method calls.
8 // Used to happen with 6g.
9
10 package main
11
12 type test_i interface {
13         Test() test_i
14         Result() bool
15 }
16
17 type test_t struct {
18 }
19
20 func newTest() *test_t {
21         return &test_t{}
22 }
23
24 type testFn func(string) testFn
25
26 func main() {
27         test := newTest()
28
29         switch {
30         case test.
31                 Test().
32                 Test().
33                 Test().
34                 Test().
35                 Test().
36                 Test().
37                 Test().
38                 Test().
39                 Test().
40                 Test().
41                 Result():
42                 // case worked
43         default:
44                 panic("Result returned false unexpectedly")
45         }
46 }
47
48 func (t *test_t) Test() test_i {
49         return t
50 }
51
52 func (t *test_t) Result() bool {
53         return true
54 }