honnef.co/go/tools@v0.4.7/staticcheck/testdata/src/example.com/checkStdlibUsageNilContext/checkStdlibUsageNilContext.go.golden (about) 1 -- use context.Background -- 2 package pkg 3 4 import "context" 5 6 func fn1(ctx context.Context) {} 7 func fn2(x string, ctx context.Context) {} 8 func fn4() {} 9 10 type T struct{} 11 12 func (*T) Foo() {} 13 14 func fn3() { 15 fn1(context.Background()) //@ diag(`do not pass a nil Context`) 16 fn1(context.TODO()) 17 fn2("", nil) 18 fn4() 19 20 // don't flag this conversion 21 _ = (func(context.Context))(nil) 22 // and don't crash on these 23 _ = (func())(nil) 24 (*T).Foo(nil) 25 } 26 -- use context.TODO -- 27 package pkg 28 29 import "context" 30 31 func fn1(ctx context.Context) {} 32 func fn2(x string, ctx context.Context) {} 33 func fn4() {} 34 35 type T struct{} 36 37 func (*T) Foo() {} 38 39 func fn3() { 40 fn1(context.TODO()) //@ diag(`do not pass a nil Context`) 41 fn1(context.TODO()) 42 fn2("", nil) 43 fn4() 44 45 // don't flag this conversion 46 _ = (func(context.Context))(nil) 47 // and don't crash on these 48 _ = (func())(nil) 49 (*T).Foo(nil) 50 }