Boost C++ Libraries: Ticket #1619: [Fusion] C4512 warnings from VC9 (Visual Studio 2008) https://svn.boost.org/trac10/ticket/1619 <p> I've got some code which makes some simple use of fusion/tuple, and building it on VC9 with warning level 4 produces a large list of 4512 warnings from vector_iterator: </p> <pre class="wiki">boost\fusion\container\vector\vector_iterator.hpp(42) : warning C4512: 'boost::fusion::vector_iterator&lt;Vector,N&gt;' : assignment operator could not be generated </pre><p> It would be useful if this could be silenced, possibly by either disabling the warning with a pragma or by adding a private assignment operator. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/1619 Trac 1.4.3 Richard Webb <richard.webb@…> Sat, 09 Feb 2008 23:40:52 GMT <link>https://svn.boost.org/trac10/ticket/1619#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/1619#comment:1</guid> <description> <p> Running the Fusion tests On VC9 with level 4 warnings results in a significant number of 4512 warnings: </p> <pre class="wiki">boost/fusion/container/vector/vector_iterator.hpp(42) : warning C4512: 'boost::fusion::vector_iterator&lt;Vector,N&gt;' : assignment operator could not be generated boost/fusion/container/list/cons_iterator.hpp(42) : warning C4512: 'boost::fusion::cons_iterator&lt;Cons&gt;' : assignment operator could not be generated boost/fusion/container/deque/deque_iterator.hpp(102) : warning C4512: 'boost::fusion::deque_iterator&lt;Seq,Pos&gt;' : assignment operator could not be generated boost/fusion/view/filter_view/filter_view.hpp(46) : warning C4512: 'boost::fusion::filter_view&lt;Sequence,Pred&gt;' : assignment operator could not be generated boost/fusion/view/filter_view/filter_view_iterator.hpp(43) : warning C4512: 'boost::fusion::filter_iterator&lt;First,Last,Pred&gt;' : assignment operator could not be generated boost/fusion/sequence/io/detail/manip.hpp(149) : warning C4512: 'boost::fusion::detail::string_ios_manip&lt;Tag,Stream&gt;' : assignment operator could not be generated boost/fusion/view/single_view/single_view.hpp(42) : warning C4512: 'boost::fusion::single_view&lt;T&gt;' : assignment operator could not be generated boost/fusion/view/single_view/single_view_iterator.hpp(42) : warning C4512: 'boost::fusion::single_view_iterator&lt;SingleView&gt;' : assignment operator could not be generated boost/fusion/view/joint_view/joint_view.hpp(56) : warning C4512: 'boost::fusion::joint_view&lt;Sequence1,Sequence2&gt;' : assignment operator could not be generated boost/fusion/view/transform_view/transform_view.hpp(102) : warning C4512: 'boost::fusion::transform_view&lt;Sequence1,Sequence2&gt;' : assignment operator could not be generated boost/fusion/view/transform_view/transform_view.hpp(72) : warning C4512: 'boost::fusion::transform_view&lt;Sequence1,Sequence2,F&gt;' : assignment operator could not be generated boost/fusion/view/reverse_view/reverse_view.hpp(53) : warning C4512: 'boost::fusion::reverse_view&lt;Sequence&gt;' : assignment operator could not be generated boost/fusion/view/repetitive_view/repetitive_view.hpp(44) : warning C4512: 'boost::fusion::repetitive_view&lt;Sequence&gt;' : assignment operator could not be generated boost/fusion/support/pair.hpp(40) : warning C4512: 'boost::fusion::pair&lt;First,Second&gt;' : assignment operator could not be generated boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp(94) : warning C4512: 'boost::fusion::boost_tuple_iterator&lt;Cons&gt;' : assignment operator could not be generated boost/fusion/adapted/struct/struct_iterator.hpp(98) : warning C4512: 'boost::fusion::struct_iterator&lt;Struct,N_&gt;' : assignment operator could not be generated boost/fusion/functional/adapter/fused.hpp(80) : warning C4512: 'boost::fusion::fused&lt;Function&gt;' : assignment operator could not be generated boost/fusion/functional/adapter/fused_function_object.hpp(85) : warning C4512: 'boost::fusion::fused_function_object&lt;Function&gt;' : assignment operator could not be generated boost/fusion/functional/adapter/fused_procedure.hpp(66) : warning C4512: 'boost::fusion::fused_procedure&lt;Function&gt;' : assignment operator could not be generated boost/fusion/functional/adapter/unfused_lvalue_args.hpp(72) : warning C4512: 'boost::fusion::unfused_lvalue_args&lt;Function&gt;' : assignment operator could not be generated boost/fusion/functional/adapter/unfused_rvalue_args.hpp(72) : warning C4512: 'boost::fusion::unfused_rvalue_args&lt;Function&gt;' : assignment operator could not be generated boost/fusion/functional/adapter/unfused_typed.hpp(64) : warning C4512: 'boost::fusion::unfused_typed&lt;Function,Sequence&gt;' : assignment operator could not be generated boost/fusion/functional/adapter/unfused_generic.hpp(100) : warning C4512: 'boost::fusion::unfused_generic&lt;Function&gt;' : assignment operator could not be generated boost/fusion/algorithm/query/detail/count.hpp(64) : warning C4512: 'boost::fusion::detail::count_compare&lt;T1&gt;' : assignment operator could not be generated </pre><p> In addition to this, there are also quite a few unreferenced parameter warnings: </p> <pre class="wiki">boost/fusion/adapted/mpl/mpl_iterator.hpp(83) : warning C4100: 'i' : unreferenced formal parameter boost/fusion/iterator/mpl/convert_iterator.hpp(40) : warning C4100: 'x' : unreferenced formal parameter boost/fusion/sequence/io/detail/out.hpp(38) : warning C4100: 'delim' : unreferenced formal parameter boost/fusion/sequence/io/detail/out.hpp(38) : warning C4100: 'os' : unreferenced formal parameter boost/fusion/sequence/io/detail/out.hpp(47) : warning C4100: 'os' : unreferenced formal parameter boost/fusion/sequence/io/detail/in.hpp(38) : warning C4100: 'delim' : unreferenced formal parameter boost/fusion/sequence/io/detail/in.hpp(47) : warning C4100: 'is' : unreferenced formal parameter boost/fusion/sequence/comparison/equal_to.hpp(21) : warning C4100: 'b' : unreferenced formal parameter boost/fusion/container/list/cons.hpp(53) : warning C4100: 'iter' : unreferenced formal parameter boost/fusion/container/vector/vector10.hpp(54) : warning C4100: 'seq' : unreferenced formal parameter boost/fusion/container/vector/vector.hpp(125) : warning C4100: 'index' : unreferenced formal parameter boost/fusion/container/vector/detail/vector_n.hpp(105) : warning C4100: 'dummy' : unreferenced formal parameter boost/fusion/view/zip_view/detail/distance_impl.hpp(73) : warning C4100: 'it2' : unreferenced formal parameter boost/fusion/functional/invocation/invoke_function_object.hpp(123) : warning C4100: 's' : unreferenced formal parameter boost/fusion/functional/invocation/invoke.hpp(204) : warning C4100: 's' : unreferenced formal parameter boost/fusion/algorithm/transformation/clear.hpp(25) : warning C4100: 'seq' : unreferenced formal parameter </pre> </description> <category>Ticket</category> </item> <item> <author>Richard Webb <richard.webb@…></author> <pubDate>Sun, 10 Feb 2008 01:59:50 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/1619#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/1619#comment:2</guid> <description> <p> Two more that i see when running the tests for xpressive: </p> <pre class="wiki">boost/fusion/view/iterator_range/iterator_range.hpp(45) : warning C4512: 'boost::fusion::iterator_range&lt;First,Last&gt;' : assignment operator could not be generated boost/fusion/view/transform_view/transform_view_iterator.hpp(42) : warning C4512: 'boost::fusion::transform_view_iterator&lt;First,F&gt;' : assignment operator could not be generated </pre> </description> <category>Ticket</category> </item> <item> <dc:creator>Joel de Guzman</dc:creator> <pubDate>Tue, 16 Jun 2009 02:23:10 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/1619#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/1619#comment:3</guid> <description> <p> I'd appreciate a patch, if you want this to be acted on immediately. </p> </description> <category>Ticket</category> </item> <item> <author>Richard Webb <richard.webb@…></author> <pubDate>Tue, 16 Jun 2009 19:09:04 GMT</pubDate> <title>attachment set https://svn.boost.org/trac10/ticket/1619 https://svn.boost.org/trac10/ticket/1619 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">fusion_param.diff</span> </li> </ul> Ticket Richard Webb <richard.webb@…> Tue, 16 Jun 2009 19:10:40 GMT <link>https://svn.boost.org/trac10/ticket/1619#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/1619#comment:4</guid> <description> <p> The attached patch silences a bunch of unreferenced parameter warnings from VC9. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Steven Watanabe</dc:creator> <pubDate>Sat, 12 Jun 2010 15:58:38 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/1619#comment:5 https://svn.boost.org/trac10/ticket/1619#comment:5 <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">fixed</span> </li> </ul> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/62854" title="Clean up MSVC build. Fixes #1619. Fixes #3074.">[62854]</a>) Clean up MSVC build. Fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/1619" title="#1619: Bugs: [Fusion] C4512 warnings from VC9 (Visual Studio 2008) (closed: fixed)">#1619</a>. Fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/3074" title="#3074: Patches: [fusion] patch for some regression test failures on VC10/GCC4.4 (closed: fixed)">#3074</a>. </p> Ticket