title: Expression 'i < 0' is always false
body: <p>For the following snippet:</p>
  
  <pre><code>size_t i = 0;
  std::wstring s;
  s = (i &lt; 0)   ? L"ABC" : L"DEF";
  s = (i != -1) ? L"ABC" : L"DEF";
  </code></pre>
  
  <p>PVS-Studio analysis logs warning for the first condition <code>i &lt; 0</code>, as expected:</p>
  
  <p><a href="https://www.viva64.com/en/w/V547/print" rel="noreferrer">V547</a> <code>Expression 'i &lt; 0' is always false. Unsigned type value is never &lt; 0. test_cpp_vs2017.cpp 19</code></p>
  
  <p>Why PVS does not issue any warning about the second, also suspicious condition <code>i != -1</code> reporting it as always true, for instance?</p>