<blockquote>
<p>Probably the best solution is <a href="https://github.com/b4n" class="user-mention">@b4n</a>'s one</p>
</blockquote>

<p>No, it misses the point of the issue. It's not specific to <code>noexcept</code> and solving for that one specification only, among all current and future language specifications or compiler attributes and pragmas which could cause a similar problem doesn't really help in general.</p>

<p>IMO, it would be better to go with the preprocessor guard and let plugins remove the forward declaration completely if they know what they're doing. This is more general and allows plugins to workaround not just <code>noexcept</code> but also any other specifications/attributes/pragmas which could cause similar problems.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany/issues/1215#issuecomment-245158885">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ0YZzd4h1bj8AUJnWg65XlBFtDnNks5qniSvgaJpZM4J1bF3">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ52UgoFSkzhJHIoHvZ_xFmLzVNswks5qniSvgaJpZM4J1bF3.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/geany/geany/issues/1215#issuecomment-245158885"></link>
  <meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany","title":"geany/geany","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany"}},"updates":{"snippets":[{"icon":"PERSON","message":"@codebrainz in #1215: \u003e Probably the best solution is @b4n's one\r\n\r\nNo, it misses the point of the issue. It's not specific to `noexcept` and solving for that one specification only, among all current and future language specifications or compiler attributes and pragmas which could cause a similar problem doesn't really help in general.\r\n\r\nIMO, it would be better to go with the preprocessor guard and let plugins remove the forward declaration completely if they know what they're doing. This is more general and allows plugins to workaround not just `noexcept` but also any other specifications/attributes/pragmas which could cause similar problems."}],"action":{"name":"View Issue","url":"https://github.com/geany/geany/issues/1215#issuecomment-245158885"}}}</script>