Boost C++ Libraries: Ticket #2454: Fusion - MSVC level 1 warnings https://svn.boost.org/trac10/ticket/2454 <p> I am seeing a far number of what MS regard as level 1 (most severe) warnings from various fusion files, for example: </p> <p> i:\trunk\boost/fusion/iterator/next.hpp(60) : warning C4180: qualifier applied to function type has no meaning; ignored i:\trunk\boost/fusion/sequence/intrinsic/begin.hpp(64) : warning C4180: qualifier applied to function type has no meaning; ignored i:\trunk\boost/fusion/sequence/intrinsic/begin.hpp(71) : warning C4180: qualifier applied to function type has no meaning; ignored i:\trunk\boost/fusion/sequence/intrinsic/end.hpp(64) : warning C4180: qualifier applied to function type has no meaning; ignored i:\trunk\boost/fusion/sequence/intrinsic/end.hpp(71) : warning C4180: qualifier applied to function type has no meaning; ignored i:\trunk\boost/fusion/iterator/prior.hpp(60) : warning C4180: qualifier applied to function type has no meaning; ignored </p> <p> I doubt if it is worth changing/correcting the code, but users will be justifiably alarmed, especially if, as in my case, I am not explicitly using Fusion! </p> <p> However I am unclear how best to suppress these warnings, short of a lot of push'n'pop pragmas into a lot of files. Is this not a problem on gcc? </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/2454 Trac 1.4.3 Paul A. Bristow Tue, 27 Oct 2009 17:26:35 GMT version, milestone changed https://svn.boost.org/trac10/ticket/2454#comment:1 https://svn.boost.org/trac10/ticket/2454#comment:1 <ul> <li><strong>version</strong> <span class="trac-field-old">Boost 1.36.0</span> → <span class="trac-field-new">Boost 1.40.0</span> </li> <li><strong>milestone</strong> <span class="trac-field-old">Boost 1.37.0</span> → <span class="trac-field-new">Boost 1.42.0</span> </li> </ul> <p> These still appear in 1.40 and are rather tiresome. </p> <p> Commenting out the const below supresses these warnings, but I can see it will be tedious to try to find them all, but IMO worth it. </p> <blockquote> <p> template &lt;typename Iterator&gt; typename result_of::next&lt;Iterator&gt;::type <em> const next(Iterator const&amp; i) { </em></p> <blockquote> <p> return result_of::next&lt;Iterator&gt;::call(i); </p> </blockquote> <p> } </p> </blockquote> <p> Tell me if I can do anything to help. </p> Ticket Steven Watanabe Sat, 12 Jun 2010 16:10:13 GMT <link>https://svn.boost.org/trac10/ticket/2454#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2454#comment:2</guid> <description> <p> Do you have a test case? The fusion tests don't trigger this, AFAICT. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Paul A. Bristow</dc:creator> <pubDate>Sat, 12 Jun 2010 16:55:49 GMT</pubDate> <title>status, milestone changed; resolution set https://svn.boost.org/trac10/ticket/2454#comment:3 https://svn.boost.org/trac10/ticket/2454#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">wontfix</span> </li> <li><strong>milestone</strong> <span class="trac-field-old">Boost 1.42.0</span> → <span class="trac-field-new">To Be Determined</span> </li> </ul> <p> I can no longer remember the code that provoked this. I will re-raise this if it happens again. </p> <p> Is it true that the const qualifier is really wrong, or just has no effect? </p> <p> Resolved as wontfix? </p> Ticket Steven Watanabe Sat, 12 Jun 2010 17:03:28 GMT <link>https://svn.boost.org/trac10/ticket/2454#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2454#comment:4</guid> <description> <p> I believe that this warning only occurs when the return type is a const qualified built-in. Since all fusion iterators have class type, I'm not sure how this could happen. </p> </description> <category>Ticket</category> </item> </channel> </rss>