Subject: [Boost-bugs] [Boost C++ Libraries] #6720: intrusive::unordered_set::clear_and_dispose does not compile on VC11 Beta when passed a stateless lambda
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-03-21 08:15:19
#6720: intrusive::unordered_set::clear_and_dispose does not compile on VC11 Beta
when passed a stateless lambda
----------------------------------------------------------+-----------------
Reporter: Alexander Bessonov <alexbav@â¦> | Owner: igaztanaga
Type: Bugs | Status: new
Milestone: To Be Determined | Component: intrusive
Version: Boost Development Trunk | Severity: Problem
Keywords: |
----------------------------------------------------------+-----------------
Attached is a small example code, which, being compiled on VC11 Beta
produces a compilation error. The same code compiles successfully on
VC2010.
The following error is generated:
{{{
...\boost\intrusive\slist.hpp(366): error C2247:
'boost::intrusive::hashtable_impl<Config>::node_cast_adaptor<F>::operator
()' not accessible because
'boost::intrusive::detail::node_disposer<F,Container>' uses 'private' to
inherit from 'boost::intrusive::detail::ebo_functor_holder<T>'
with
[
Config=boost::intrusive::detail::usetopt<boost::intrusive::detail::base_hook_traits<Item,boost::intrusive::slist_node_traits<void
*>,safe_link,boost::intrusive::default_tag,4>,Item::hash,std::equal_to<Item>,unsigned
int,boost::intrusive::detail::bucket_traits_impl<boost::intrusive::detail::get_slist_impl<boost::intrusive::slist_node_traits<void
*>>::type>,1>,
F=boost::intrusive::detail::node_disposer<main::<lambda_4ec9a6cb8e4a7175a276948992bf9089>,boost::intrusive::hashtable_impl<boost::intrusive::detail::usetopt<boost::intrusive::detail::base_hook_traits<Item,boost::intrusive::slist_node_traits<void
*>,safe_link,boost::intrusive::default_tag,4>,Item::hash,std::equal_to<Item>,unsigned
int,boost::intrusive::detail::bucket_traits_impl<boost::intrusive::detail::get_slist_impl<boost::intrusive::slist_node_traits<void
*>>::type>,1>>>
]
and
[
F=main::<lambda_4ec9a6cb8e4a7175a276948992bf9089>,
Container=boost::intrusive::hashtable_impl<boost::intrusive::detail::usetopt<boost::intrusive::detail::base_hook_traits<Item,boost::intrusive::slist_node_traits<void
*>,safe_link,boost::intrusive::default_tag,4>,Item::hash,std::equal_to<Item>,unsigned
int,boost::intrusive::detail::bucket_traits_impl<boost::intrusive::detail::get_slist_impl<boost::intrusive::slist_node_traits<void
*>>::type>,1>>
]
and
[
T=main::<lambda_4ec9a6cb8e4a7175a276948992bf9089>
]
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/6720> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:09 UTC