title: How to hide/skip/prevent instantiation contexts in compiler output when static_assert fails?
body: <p>When a <code>static_assert</code> fires, the compiler tries to be helpful, the error message usually looks like this:</p>
  
  <pre><code>examples/foo.hh: In instantiation of ‘const char* examples::fail() [with T = dummy_t]’:
  examples/foo.hh:35:77:   required from ‘...’
  examples/foo.hh:27:54:   required from ‘...’
  examples/foo.hh:42:25:   required from ‘...’
  examples/foo.hh:84:94:   required from ‘...’
  ...
  examples/foo.hh:27:54:   required from ‘...’
  examples/foo.hh:92:14:   required from here
  examples/foo.hh:12:36: error: static assertion failed: my error message
  </code></pre>
  
  <p>The problem is that in my case, everything except the first and the last message is superfluous and prevents the error message from being really helpful. In practice, the instantiation context information can be very long (both the number of contexts and the context itself).</p>
  
  <p>Is there any way (trick, even hack) to prevent the compiler from emitting all the instantiation contexts for a specific <code>static_assert</code>? I'm mostly interested in GCC and Clang output.</p>