From 29d11ef43611312311af6ecf551d83a37175f1bf Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Fri, 25 Aug 2017 23:10:50 -0700 Subject: [PATCH] cmd/vet: add test that copylock catches copying a sync.Map fixes #21635 Change-Id: I78716d47b6a930074e5394f7171d5f545dfba0bc Reviewed-on: https://go-review.googlesource.com/59690 Reviewed-by: Bryan Mills Reviewed-by: Rob Pike Run-TryBot: Bryan Mills TryBot-Result: Gobot Gobot --- src/cmd/vet/testdata/copylock_func.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/cmd/vet/testdata/copylock_func.go b/src/cmd/vet/testdata/copylock_func.go index 0f7ffcbccb..280747a3bf 100644 --- a/src/cmd/vet/testdata/copylock_func.go +++ b/src/cmd/vet/testdata/copylock_func.go @@ -11,12 +11,14 @@ import "sync" func OkFunc(*sync.Mutex) {} func BadFunc(sync.Mutex) {} // ERROR "BadFunc passes lock by value: sync.Mutex" +func BadFunc2(sync.Map) {} // ERROR "BadFunc2 passes lock by value: sync.Map contains sync.Mutex" func OkRet() *sync.Mutex {} func BadRet() sync.Mutex {} // Don't warn about results var ( - OkClosure = func(*sync.Mutex) {} - BadClosure = func(sync.Mutex) {} // ERROR "func passes lock by value: sync.Mutex" + OkClosure = func(*sync.Mutex) {} + BadClosure = func(sync.Mutex) {} // ERROR "func passes lock by value: sync.Mutex" + BadClosure2 = func(sync.Map) {} // ERROR "func passes lock by value: sync.Map contains sync.Mutex" ) type EmbeddedRWMutex struct { -- 2.50.0