rules: - id: wrong-lock-unlock patterns: - pattern-either: - pattern: | $M.Lock() defer $M.RUnlock() - pattern: | $M.RLock() defer $M.Unlock() - pattern: | $M.Lock() defer $M.Lock() - pattern: | $M.RLock() defer $M.RLock() message: "Wrong lock/unlock pair?" languages: [go] severity: ERROR