誤って値渡しされているロックを報告します。

ロックを持つ値を誤ってコピーしてしまうと、両方のコピーが正常に動作しない可能性があります。 通常、このような値はポインター経由で参照される必要があります。 ここで言うロックとは、sync.Mutexsync.WaitGroup などの sync.Locker を実装している型を指しています。

例:

type SafeInt struct {
  m sync.Mutex
  i int
}

func (s SafeInt) Inc() { // Mutex がコピーされています
  s.m.Lock()
  s.i++
  s.m.Unlock()
}

ポインターの追加」クイックフィックスを適用後:

type SafeInt struct {
  m sync.Mutex
  i int
}

func (s *SafeInt) Inc() {
  s.m.Lock()
  s.i++
  s.m.Unlock()
}