Boost C++ Libraries: Ticket #13629: boost::fusion::make_map cannot be called with boost::fusion::vector https://svn.boost.org/trac10/ticket/13629 <p> The following code cannot be compiled on MSVC2017. </p> <pre class="wiki">struct Z; boost::fusion::make_map&lt;Z&gt;(boost::fusion::make_vector(1, 2)); </pre><p> Error is like this </p> <pre class="wiki">1&gt;d:\libraries\boost_1_67_0\boost\fusion\container\map\detail\map_impl.hpp(112): error C2664: 'boost::fusion::pair&lt;test_main::test_method::Z,T&gt;::pair(const boost::fusion::pair&lt;test_main::test_method::Z,T&gt; &amp;)': cannot convert argument 1 from 'const int' to 'const boost::fusion::vector&lt;int,int&gt; &amp;' 1&gt; with 1&gt; [ 1&gt; T=boost::fusion::vector&lt;int,int&gt; 1&gt; ] 1&gt;d:\libraries\boost_1_67_0\boost\fusion\container\map\detail\map_impl.hpp(113): note: Reason: cannot convert from 'const int' to 'const boost::fusion::vector&lt;int,int&gt;' 1&gt;d:\libraries\boost_1_67_0\boost\fusion\container\map\detail\map_impl.hpp(113): note: No constructor could take the source type, or constructor overload resolution was ambiguous 1&gt;d:\libraries\boost_1_67_0\boost\fusion\container\map\map.hpp(74): note: see reference to function template instantiation 'boost::fusion::detail::map_impl&lt;0,boost::fusion::pair&lt;test_main::test_method::Z,T&gt;&gt;::map_impl&lt;boost::fusion::vector_iterator&lt;Sequence,0&gt;&gt;(const Iterator &amp;,boost::fusion::detail::map_impl_from_iterator)' being compiled 1&gt; with 1&gt; [ 1&gt; T=boost::fusion::vector&lt;int,int&gt;, 1&gt; Sequence=boost::fusion::vector&lt;int,int&gt;, 1&gt; Iterator=boost::fusion::vector_iterator&lt;const boost::fusion::vector&lt;int,int&gt;,0&gt; 1&gt; ] 1&gt;d:\libraries\boost_1_67_0\boost\fusion\container\map\map.hpp(73): note: see reference to function template instantiation 'boost::fusion::detail::map_impl&lt;0,boost::fusion::pair&lt;test_main::test_method::Z,T&gt;&gt;::map_impl&lt;boost::fusion::vector_iterator&lt;Sequence,0&gt;&gt;(const Iterator &amp;,boost::fusion::detail::map_impl_from_iterator)' being compiled 1&gt; with 1&gt; [ 1&gt; T=boost::fusion::vector&lt;int,int&gt;, 1&gt; Sequence=boost::fusion::vector&lt;int,int&gt;, 1&gt; Iterator=boost::fusion::vector_iterator&lt;const boost::fusion::vector&lt;int,int&gt;,0&gt; 1&gt; ] 1&gt;d:\libraries\boost_1_67_0\boost\fusion\container\generation\make_map.hpp(59): note: see reference to function template instantiation 'boost::fusion::map&lt;boost::fusion::pair&lt;test_main::test_method::Z,T&gt;&gt;::map&lt;boost::fusion::vector&lt;int,int&gt;,void&gt;(const Sequence &amp;)' being compiled 1&gt; with 1&gt; [ 1&gt; T=boost::fusion::vector&lt;int,int&gt;, 1&gt; Sequence=boost::fusion::vector&lt;int,int&gt; 1&gt; ] 1&gt;d:\libraries\boost_1_67_0\boost\fusion\container\generation\make_map.hpp(59): note: see reference to function template instantiation 'boost::fusion::map&lt;boost::fusion::pair&lt;test_main::test_method::Z,T&gt;&gt;::map&lt;boost::fusion::vector&lt;int,int&gt;,void&gt;(const Sequence &amp;)' being compiled 1&gt; with 1&gt; [ 1&gt; T=boost::fusion::vector&lt;int,int&gt;, 1&gt; Sequence=boost::fusion::vector&lt;int,int&gt; 1&gt; ] 1&gt;d:\path\to\my_code.cpp(LINE): note: see reference to function template instantiation 'boost::fusion::map&lt;boost::fusion::pair&lt;test_main::test_method::Z,T&gt;&gt; boost::fusion::make_map&lt;test_main::test_method::Z,boost::fusion::vector&lt;int,int&gt;&gt;(const boost::fusion::vector&lt;int,int&gt; &amp;)' being compiled 1&gt; with 1&gt; [ 1&gt; T=boost::fusion::vector&lt;int,int&gt; 1&gt; ] </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/13629 Trac 1.4.3