<html>
<head>
<base href="http://llvm.org/bugs/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Compilation failed when using boost::make_recursive_variant"
href="http://llvm.org/bugs/show_bug.cgi?id=16965">16965</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Compilation failed when using boost::make_recursive_variant
</td>
</tr>
<tr>
<th>Product</th>
<td>clang
</td>
</tr>
<tr>
<th>Version</th>
<td>trunk
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>MacOS X
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>C++11
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedclangbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>191919@gmail.com
</td>
</tr>
<tr>
<th>CC</th>
<td>dgregor@apple.com, llvmbugs@cs.uiuc.edu
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr></table>
<p>
<div>
<pre>The following code failed to compile with clang svn trunk:
#include <map>
#include <boost/variant.hpp>
typedef boost::make_recursive_variant<
int,
std::map<std::string, boost::recursive_variant_>
>::type t_t;
typedef std::map<int, t_t> dictionary_t;
void foo(dictionary_t& d)
{
dictionary_t::const_iterator bit = d.find(42);
d[24] = bit->second;
}
The compilation command line was:
/opt/bin/clang++ -std=c++11 -stdlib=libc++ -c 1.cpp
clang++ gave the error oracle as follows:
------------------------------------------------------
In file included from 1.cpp:2:
In file included from /usr/local/include/boost/variant.hpp:17:
/usr/local/include/boost/variant/variant.hpp:1751:9: error: call to member
function 'convert_construct' is ambiguous
convert_construct( detail::variant::move(operand), 1L );
^~~~~~~~~~~~~~~~~
/opt/bin/../lib/c++/v1/utility:349:15: note: in instantiation of function
template specialization
'boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_>::variant<const
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_> >'
requested here
second(_VSTD::forward<typename tuple_element<1,
^
/opt/bin/../lib/c++/v1/map:746:15: note: in instantiation of function template
specialization 'std::__1::pair<const std::__1::basic_string<char>,
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_> >::pair<const std::__1::pair<const
std::__1::basic_string<char>,
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>,
boost::recursive_variant_, std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_>
>, void>' requested here
: __cc(std::move(__v.__cc)) {}
^
/opt/bin/../lib/c++/v1/memory:1641:31: note: in instantiation of member
function 'std::__1::map<std::__1::basic_string<char>,
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_>, std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_> > >
<span class="quote">>::__value_type::__value_type' requested here</span >
::new((void*)__p) _Up(_VSTD::forward<_Args>(__args)...);
^
/opt/bin/../lib/c++/v1/memory:1568:18: note: in instantiation of function
template specialization
'std::__1::allocator<std::__1::__tree_node<std::__1::map<std::__1::basic_string<char>,
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_>,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const
std::__1::basic_string<char>,
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>,
boost::recursive_variant_, std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_>
> > >::__value_type, void *>
<span class="quote">>::construct<std::__1::map<std::__1::basic_string<char>,</span >
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_>,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const
std::__1::basic_string<char>,
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>,
boost::recursive_variant_, std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_>
> > >::__value_type, const std::__1::map<std::__1::basic_string<char>,
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_>,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const
std::__1::basic_string<char>,
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>,
boost::recursive_variant_, std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_>
> > >::__value_type &>' requested here
{__a.construct(__p, _VSTD::forward<_Args>(__args)...);}
^
/opt/bin/../lib/c++/v1/memory:1449:14: note: in instantiation of function
template specialization
'std::__1::allocator_traits<std::__1::allocator<std::__1::__tree_node<std::__1::map<std::__1::basic_string<char>,
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_>, std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_> > >
<span class="quote">>::__value_type, void *> >
>::__construct<std::__1::map<std::__1::basic_string<char>,</span >
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_>, std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_> > >
<span class="quote">>::__value_type, const std::__1::map<std::__1::basic_string<char>,</span >
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_>, std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_> > >
<span class="quote">>::__value_type &>' requested here</span >
{__construct(__has_construct<allocator_type, pointer, _Args...>(),
^
/opt/bin/../lib/c++/v1/__tree:1731:20: note: (skipping 11 contexts in
backtrace; use -ftemplate-backtrace-limit=0 to see all)
__node_traits::construct(__na, _VSTD::addressof(__h->__value_),
_VSTD::forward<_Args>(__args)...);
^
/usr/local/include/boost/variant/variant.hpp:2321:33: note: in instantiation of
function template specialization
'boost::detail::variant::visitation_impl<mpl_::int_<0>,
boost::detail::variant::visitation_impl_step<boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<2>,
int, boost::mpl::l_item<mpl_::long_<1>,
boost::recursive_wrapper<std::__1::map<std::__1::basic_string<char>,
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_>, std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_> > > > >,
boost::mpl::l_end> > >, boost::mpl::l_iter<boost::mpl::l_end> >,
boost::detail::variant::assign_storage, void *,
boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>,
boost::recursive_variant_, std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_>::has_fallback_type_>' requested here
return detail::variant::visitation_impl(
^
/usr/local/include/boost/variant/variant.hpp:2335:16: note: in instantiation of
function template specialization
'boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_>::internal_apply_visitor_impl<boost::detail::variant::assign_storage,
void *>' requested here
return internal_apply_visitor_impl(
^
/usr/local/include/boost/variant/variant.hpp:2085:19: note: in instantiation of
function template specialization
'boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_>::internal_apply_visitor<boost::detail::variant::assign_storage>'
requested here
this->internal_apply_visitor(visitor);
^
/usr/local/include/boost/variant/variant.hpp:2175:9: note: in instantiation of
member function 'boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_>::variant_assign' requested here
variant_assign(rhs);
^
1.cpp:13:8: note: in instantiation of member function
'boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>,
boost::recursive_variant_, std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_>::operator=' requested here
d[24] = bit->second;
^
/usr/local/include/boost/variant/variant.hpp:1563:71: note: candidate function
[with T = const boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_>]
typename boost::enable_if<boost::is_rvalue_reference<T&&> >::type
convert_construct(
^
/usr/local/include/boost/variant/variant.hpp:1677:10: note: candidate function
[with U0 = boost::detail::variant::recursive_flag<int>, U1 =
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, U2 = boost::detail::variant::void_, U3 =
boost::detail::variant::void_, U4 = boost::detail::variant::void_, U5 =
boost::detail::variant::void_, U6 = boost::detail::variant::void_, U7 =
boost::detail::variant::void_, U8 = boost::detail::variant::void_, U9 =
boost::detail::variant::void_, U10 = boost::detail::variant::void_, U11 =
boost::detail::variant::void_, U12 = boost::detail::variant::void_, U13 =
boost::detail::variant::void_, U14 = boost::detail::variant::void_, U15 =
boost::detail::variant::void_, U16 = boost::detail::variant::void_, U17 =
boost::detail::variant::void_, U18 = boost::detail::variant::void_, U19 =
boost::detail::variant::void_]
void convert_construct(
^
/usr/local/include/boost/variant/variant.hpp:1542:10: note: candidate function
[with T = const boost::variant<boost::detail::variant::recursive_flag<int>,
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_>]
void convert_construct(
^
/usr/local/include/boost/variant/variant.hpp:1668:10: note: candidate template
ignored: substitution failure [with U0 =
boost::detail::variant::recursive_flag<int>, U1 =
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, U2 =
boost::detail::variant::void_, U3 = boost::detail::variant::void_, U4 =
boost::detail::variant::void_, U5 = boost::detail::variant::void_, U6 =
boost::detail::variant::void_, U7 = boost::detail::variant::void_, U8 =
boost::detail::variant::void_, U9 = boost::detail::variant::void_, U10 =
boost::detail::variant::void_, U11 = boost::detail::variant::void_, U12 =
boost::detail::variant::void_, U13 = boost::detail::variant::void_, U14 =
boost::detail::variant::void_, U15 = boost::detail::variant::void_, U16 =
boost::detail::variant::void_, U17 = boost::detail::variant::void_, U18 =
boost::detail::variant::void_, U19 = boost::detail::variant::void_]
void convert_construct(
^
/usr/local/include/boost/variant/variant.hpp:1687:10: note: candidate template
ignored: substitution failure [with U0 =
boost::detail::variant::recursive_flag<int>, U1 =
std::__1::map<std::__1::basic_string<char>, boost::recursive_variant_,
std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::recursive_variant_> > >, U2 =
boost::detail::variant::void_, U3 = boost::detail::variant::void_, U4 =
boost::detail::variant::void_, U5 = boost::detail::variant::void_, U6 =
boost::detail::variant::void_, U7 = boost::detail::variant::void_, U8 =
boost::detail::variant::void_, U9 = boost::detail::variant::void_, U10 =
boost::detail::variant::void_, U11 = boost::detail::variant::void_, U12 =
boost::detail::variant::void_, U13 = boost::detail::variant::void_, U14 =
boost::detail::variant::void_, U15 = boost::detail::variant::void_, U16 =
boost::detail::variant::void_, U17 = boost::detail::variant::void_, U18 =
boost::detail::variant::void_, U19 = boost::detail::variant::void_]
void convert_construct(
^
/usr/local/include/boost/variant/variant.hpp:1584:10: note: candidate function
template not viable: requires 3 arguments, but 2 were provided
void convert_construct(
^
/usr/local/include/boost/variant/variant.hpp:1598:77: note: candidate function
template not viable: requires 3 arguments, but 2 were provided
typename boost::enable_if<boost::is_rvalue_reference<Variant&&> >::type
convert_construct(
^
1 error generated.
------------------------------------------------------
My clang version is:
clang version 3.4 (trunk 188979)
Target: x86_64-apple-darwin12.4.0
Thread model: posix</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>