Я случайно набрал =! вместо !=, что вызвало огромную ошибку в системе, которая некоторое время не обнаруживалась; Я исправил это с тех пор, но мне любопытно, что делает =!.
У меня было что-то вроде этого
void foo(int param)
{
    int a = 0;
    ... 
    if (a =! param)
    {
        // never got here even when `a` was not equal to `param`  
    }
    ...
}
Может кто-нибудь объяснить, что оценивает вышеуказанный оператор if?
