title: static_assert'ion that a long and int are the Same Type
body: <p>So I'm taking a variable from one API, we'll call it <code>long foo</code> and passing it to another API which takes it as the value: <code>int bar</code>.</p>
  
  <p>I'm in <a href="/questions/tagged/visual-studio-2017" class="post-tag" title="show questions tagged &#39;visual-studio-2017&#39;" rel="tag">visual-studio-2017</a> in which these are effectively the same thing: <a href="https://docs.microsoft.com/en-us/cpp/cpp/data-type-ranges?view=vs-2017" rel="nofollow noreferrer">https://docs.microsoft.com/en-us/cpp/cpp/data-type-ranges?view=vs-2017</a></p>
  
  <p>But this will fire:</p>
  
  <pre><code>static_assert(is_same_v&lt;decltype(foo), decltype(bar)&gt;);
  </code></pre>
  
  <p>Because even though these are <em>effectively</em> the same, they are not the same type. Is there a workaround for this, other than using the numeric limits library to match a <code>long</code> to an <code>int</code>?</p>