Opened 8 years ago

Closed 8 years ago

#10306 closed Bugs (duplicate)

interprocess mapped_region breaks compilation in visual studio 2013

Reported by: wickedmuc@… Owned by: Ion Gaztañaga
Milestone: To Be Determined Component: interprocess
Version: Boost 1.55.0 Severity: Regression
Keywords: Cc:

Description

The following small program fails to compile:

#include <boost/interprocess/mapped_region.hpp>

int main()
{
	return 0;
}

c:\local\boost_1_55_0\boost\intrusive\detail\has_member_function_callable_with.hpp(200): error C2228: left of '.select_on_container_copy_construction' must have class/struct/union

type is 'boost::move_detail::add_rvalue_reference<U>::type' c:\local\boost_1_55_0\boost\intrusive\detail\has_member_function_callable_with.hpp(276) : see reference to class template instantiation 'boost::container::container_detail::has_member_function_callable_with_select_on_container_copy_construction_impl<Fun,true,>' being compiled with [

Fun=std::allocator<std::pair<const boost::interprocess::ipcdetail::sync_id *const ,boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const boost::interprocess::ipcdetail::sync_id,void *>>>>>

] c:\local\boost_1_55_0\boost\container\allocator_traits.hpp(262) : see reference to class template instantiation 'boost::container::container_detail::has_member_function_callable_with_select_on_container_copy_construction<const Alloc,>' being compiled with [

Alloc=std::allocator<std::pair<const boost::interprocess::ipcdetail::sync_id *const ,boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const boost::interprocess::ipcdetail::sync_id,void *>>>>>

] c:\local\boost_1_55_0\boost\container\detail\tree.hpp(217) : see reference to class template instantiation 'boost::container::allocator_traits<A>' being compiled with [

A=std::allocator<std::pair<const boost::interprocess::ipcdetail::sync_id *const ,boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const boost::interprocess::ipcdetail::sync_id,void *>>>>>

] c:\local\boost_1_55_0\boost\container\detail\tree.hpp(246) : see reference to class template instantiation 'boost::container::container_detail::intrusive_rbtree_type<A,boost::container::container_detail::tree_value_compare<Key,std::pair<const Key,T>,Compare,boost::container::container_detail::select1st<std::pair<const Key,T>>>>' being compiled with [

A=std::allocator<std::pair<const boost::interprocess::ipcdetail::sync_id *const ,boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const boost::interprocess::ipcdetail::sync_id,void *>>>>>

, Key=const boost::interprocess::ipcdetail::sync_id * , T=boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const boost::interprocess::ipcdetail::sync_id,void *>>> , Compare=boost::interprocess::ipcdetail::sync_handles::address_less

] c:\local\boost_1_55_0\boost\container\map.hpp(83) : see reference to class template instantiation 'boost::container::container_detail::rbtree<Key,std::pair<const Key,T>,boost::container::container_detail::select1st<std::pair<const Key,T>>,Compare,Allocator>' being compiled with [

Key=const boost::interprocess::ipcdetail::sync_id *

, T=boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const boost::interprocess::ipcdetail::sync_id,void *>>> , Compare=boost::interprocess::ipcdetail::sync_handles::address_less , Allocator=std::allocator<std::pair<const boost::interprocess::ipcdetail::sync_id *const ,boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const boost::interprocess::ipcdetail::sync_id,void *>>>>>

] c:\local\boost_1_55_0\boost\interprocess\sync\windows\sync_utils.hpp(226) : see reference to class template instantiation 'boost::container::map<const boost::interprocess::ipcdetail::sync_id *,boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<T>>,boost::interprocess::ipcdetail::sync_handles::address_less,std::allocator<std::pair<const Key,boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<T>>>>>' being compiled with [

T=std::pair<const boost::interprocess::ipcdetail::sync_id,void *>

, Key=const boost::interprocess::ipcdetail::sync_id *

]

Build FAILED.

Compiler version: 18.00.21005 (ie _MSC_FULL_VER = 180021005) Thanks

Change History (2)

comment:1 by wickedmuc@…, 8 years ago

Ah, sorry, I should have read the release notes. This is a duplicate of #9332.

comment:2 by Ion Gaztañaga, 8 years ago

Resolution: duplicate
Status: newclosed
Note: See TracTickets for help on using tickets.