﻿# V8021\. Using a unary operator several times is meaningless or reverses the result\.

Анализатор обнаружил унарный оператор \!, ^, \- или \+, который два раза подряд применяется к одному выражению\. Повторное применение оператора \+ является избыточным\. В случае других операторов это приведёт к отмене эффекта первого применения\.

Рассмотрим пример:

```cpp
func foo() { 
  ....
  for _, u := range users { 
    if !(!hideInactive) && !u.IsActive { 
      continue 
    }
    ....
  }
}
```

Здесь оператор `!` дважды применяется к переменной `hideInactive`, что эквивалентно отсутствию отрицания\. Такая ошибка может возникнуть из\-за опечатки при расстановке скобок в условии\.

Корректный код:

```cpp
if !(!hideInactive && !u.IsActive) { 
  continue 
}
```