|
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