| // Copyright (c) HashiCorp, Inc. |
| // SPDX-License-Identifier: MPL-2.0 |
| |
| package testdata |
| |
| func ReturnReturnOkay() (any, error) { |
| var i interface{} |
| return i, nil |
| } |
| |
| func OneGoodOneBad() (any, error) { // want "Function OneGoodOneBad can return an error, and has a statement that returns only nils" |
| var i interface{} |
| if true { |
| return i, nil |
| } |
| return nil, nil |
| } |
| |
| func OneBadOneGood() (any, error) { // want "Function OneBadOneGood can return an error, and has a statement that returns only nils" |
| var i interface{} |
| if true { |
| return nil, nil |
| } |
| return i, nil |
| } |
| |
| func EmptyFunc() {} |
| |
| func TwoNilNils() (any, error) { // want "Function TwoNilNils can return an error, and has a statement that returns only nils" |
| if true { |
| return nil, nil |
| } |
| return nil, nil |
| } |
| |
| // ThreeResults should not fail, as while it returns nil, nil, nil, it has three results, not two. |
| func ThreeResults() (any, any, error) { |
| return nil, nil, nil |
| } |
| |
| func TwoArgsNoError() (any, any) { |
| return nil, nil |
| } |
| |
| func NestedReturn() (any, error) { // want "Function NestedReturn can return an error, and has a statement that returns only nils" |
| { |
| { |
| { |
| return nil, nil |
| } |
| } |
| } |
| } |
| |
| func NestedForReturn() (any, error) { // want "Function NestedForReturn can return an error, and has a statement that returns only nils" |
| for { |
| for i := 0; i < 100; i++ { |
| { |
| return nil, nil |
| } |
| } |
| } |
| } |
| |
| func AnyErrorNilNil() (any, error) { // want "Function AnyErrorNilNil can return an error, and has a statement that returns only nils" |
| return nil, nil |
| } |
| |
| // Skipped should be skipped because of the following line: |
| // ignore-nil-nil-function-check |
| func Skipped() (any, error) { |
| return nil, nil |
| } |