|
1 | 1 | //golangcitest:args -Edefer
|
2 | 2 | package testdata
|
3 | 3 |
|
4 |
| -func funcReturnsInt() int { |
5 |
| - return 1 |
| 4 | +import ( |
| 5 | + "errors" |
| 6 | +) |
| 7 | + |
| 8 | +func funcNotReturnAnyType() { |
| 9 | +} |
| 10 | + |
| 11 | +func funcReturnErr() error { |
| 12 | + return errors.New("some error") |
6 | 13 | }
|
7 | 14 |
|
8 |
| -func funcReturnsFunc() func() { |
| 15 | +func funcReturnFuncAndErr() (func(), error) { |
9 | 16 | return func() {
|
10 |
| - } |
| 17 | + }, nil |
11 | 18 | }
|
12 | 19 |
|
13 |
| -func funcReturnsErrAndFunc() (error, func()) { |
14 |
| - return nil, func() { |
15 |
| - } |
| 20 | +func funcDeferNotReturnAnyType1() { |
| 21 | + defer funcNotReturnAnyType() |
16 | 22 | }
|
17 | 23 |
|
18 |
| -func funcDeferReturnGoodValue() { |
19 |
| - defer funcReturnsInt() |
| 24 | +func funcDeferNotReturnAnyType2() { |
| 25 | + defer func() { |
| 26 | + _ = funcReturnErr() |
| 27 | + }() |
20 | 28 | }
|
21 | 29 |
|
22 |
| -func funcDeferReturnFunc() { |
23 |
| - defer funcReturnsFunc() // want "deferred call should not return a function" |
| 30 | +func funcDeferReturnErr() { |
| 31 | + defer funcReturnErr() // want "deferred call should not return anything" |
24 | 32 | }
|
25 | 33 |
|
26 | 34 | func funcDeferReturnErrAndFunc() {
|
27 |
| - defer funcReturnsErrAndFunc() // want "deferred call should not return a function" |
| 35 | + defer funcReturnFuncAndErr() // want "deferred call should not return anything" |
28 | 36 | }
|
29 | 37 |
|
30 | 38 | func funcDeferAnonymousReturnFunc() {
|
31 |
| - defer func() func() { // want "deferred call should not return a function" |
| 39 | + defer func() func() { // want "deferred call should not return anything" |
32 | 40 | return func() {}
|
33 | 41 | }()
|
34 | 42 | }
|
35 | 43 |
|
36 |
| -func funcDeferAnonymousReturnErrAndFunc() { |
37 |
| - defer func() (error, func()) { // want "deferred call should not return a function" |
38 |
| - return nil, func() {} |
| 44 | +func funcDeferAnonymousReturnIntAndErr() { |
| 45 | + defer func() (int, error) { // want "deferred call should not return anything" |
| 46 | + return 1, nil |
39 | 47 | }()
|
40 | 48 | }
|
0 commit comments