Boost C++ Libraries: Ticket #12508: regression in boost recursive variant https://svn.boost.org/trac10/ticket/12508 <p> Hi, </p> <p> see added sample code (std=c++14). </p> <p> build with boost1.61: fine<br /> </p> <p> build with boost1.62: broken </p> <p> gcc (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 20160609 </p> <p> Most important compiler errors (i think): </p> <pre class="wiki">source/test.cpp:104:46: required from here /usr/include/c++/5/bits/hashtable_policy.h:85:34: error: no match for call to ‘(const hessian::hash) (const boost::recursive_variant_&amp;)’ noexcept(declval&lt;const _Hash&amp;&gt;()(declval&lt;const _Key&amp;&gt;()))&gt; ^ source/test.cpp:59:9: note: candidate: size_t hessian::hash::operator()(const value_t&amp;) const size_t operator()(const value_t&amp; value) const noexcept; ^ source/test.cpp:59:9: note: no known conversion for argument 1 from ‘const boost::recursive_variant_’ to ‘const value_t&amp; {aka const boost::variant&lt;boost::detail::variant::recursive_flag&lt;boost::blank&gt;, bool, int, long int, double, boost::posix_time::ptime, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, std::__cxx11::basic_string&lt;unsigned char, std::char_traits&lt;unsigned char&gt;, std::allocator&lt;unsigned char&gt; &gt;, std::vector&lt;boost::recursive_variant_, std::allocator&lt;boost::recursive_variant_&gt; &gt;, std::unordered_map&lt;boost::recursive_variant_, boost::recursive_variant_, hessian::hash, std::equal_to&lt;boost::recursive_variant_&gt;, std::allocator&lt;std::pair&lt;const boost::recursive_variant_, boost::recursive_variant_&gt; &gt; &gt;, std::unordered_map&lt;std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, boost::recursive_variant_, std::hash&lt;std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, std::equal_to&lt;std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, std::allocator&lt;std::pair&lt;const std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, boost::recursive_variant_&gt; &gt; &gt; &gt;&amp;}’ </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/12508 Trac 1.4.3 mike.gresens@… Sat, 08 Oct 2016 13:56:22 GMT attachment set https://svn.boost.org/trac10/ticket/12508 https://svn.boost.org/trac10/ticket/12508 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">test.cpp</span> </li> </ul> <p> sample code </p> Ticket mike.gresens@… Sat, 08 Oct 2016 13:58:20 GMT attachment set https://svn.boost.org/trac10/ticket/12508 https://svn.boost.org/trac10/ticket/12508 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">errors.txt</span> </li> </ul> <p> compiler errors </p> Ticket Antony Polukhin Mon, 02 Jan 2017 09:48:42 GMT owner, status changed; milestone deleted https://svn.boost.org/trac10/ticket/12508#comment:1 https://svn.boost.org/trac10/ticket/12508#comment:1 <ul> <li><strong>owner</strong> changed from <span class="trac-author">ebf</span> to <span class="trac-author">Antony Polukhin</span> </li> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> <li><strong>milestone</strong> <span class="trac-field-deleted">To Be Determined</span> </li> </ul> <p> Fixed by Mikhail Maximov in <a class="ext-link" href="https://github.com/boostorg/variant/commit/e0b65c01a8d21feb45f4d47b753bc4b796bb6372"><span class="icon">​</span>e0b65c01</a>. Fix will appear in Boost 1.64 </p> Ticket Antony Polukhin Wed, 18 Jan 2017 19:37:52 GMT milestone set https://svn.boost.org/trac10/ticket/12508#comment:2 https://svn.boost.org/trac10/ticket/12508#comment:2 <ul> <li><strong>milestone</strong> → <span class="trac-field-new">Boost 1.64.0</span> </li> </ul> Ticket Antony Polukhin Sat, 22 Apr 2017 06:01:07 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/12508#comment:3 https://svn.boost.org/trac10/ticket/12508#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> Ticket