honnef.co/go/tools@v0.4.7/staticcheck/testdata/src/example.com/checkStdlibUsageNilContext/checkStdlibUsageNilContext_generics.go.golden (about) 1 -- use context.Background -- 2 //go:build go1.18 3 4 package pkg 5 6 import "context" 7 8 func tpfn1[T any](ctx context.Context, x T) {} 9 func tpfn2[T1, T2 any](ctx context.Context, x T1, y T2) {} 10 11 func tpbar() { 12 tpfn1[int](context.Background(), 0) //@ diag(`do not pass a nil Context`) 13 tpfn1(context.Background(), 0) //@ diag(`do not pass a nil Context`) 14 15 tpfn2[int, int](context.Background(), 0, 0) //@ diag(`do not pass a nil Context`) 16 tpfn2(context.Background(), 0, 0) //@ diag(`do not pass a nil Context`) 17 } 18 -- use context.TODO -- 19 //go:build go1.18 20 21 package pkg 22 23 import "context" 24 25 func tpfn1[T any](ctx context.Context, x T) {} 26 func tpfn2[T1, T2 any](ctx context.Context, x T1, y T2) {} 27 28 func tpbar() { 29 tpfn1[int](context.TODO(), 0) //@ diag(`do not pass a nil Context`) 30 tpfn1(context.TODO(), 0) //@ diag(`do not pass a nil Context`) 31 32 tpfn2[int, int](context.TODO(), 0, 0) //@ diag(`do not pass a nil Context`) 33 tpfn2(context.TODO(), 0, 0) //@ diag(`do not pass a nil Context`) 34 }