title: Deprecation of the static keyword... no more?
body: <p>In C++ it is possible to use the <code>static</code> keyword within a translation unit to affect the visibility of a symbol (either variable or function declaration).</p>
  
  <p>In n3092, this was deprecated:</p>
  
  <blockquote>
    <p>Annex D.2 <strong>[depr.static]</strong><br>
    The use of the static keyword is deprecated when declaring objects in namespace scope (see 3.3.6).</p>
  </blockquote>
  
  <p>In n3225, this has been removed.</p>
  
  <p>The <a href="https://web.archive.org/web/20140116013834/http://www.informit.com/guides/content.aspx?g=cplusplus&amp;seqNum=463" rel="noreferrer">only article I could find</a> is somewhat informal.</p>
  
  <p>It does underline though, that for compatibility with C (and the ability to compile C-programs as C++) the deprecation is annoying. However, compiling a C program directly as C++ can be a frustrating experience already, so I am unsure if it warrants consideration.</p>
  
  <p>Does anyone know why it was changed ?</p>