id summary reporter owner description type status milestone component version severity resolution keywords cc 8749 Accessing type of insert, pair >::type discards inserted elements guylaingreer@… Aleksey Gurtovoy "The following code sample illustrates the problem typedef insert, pair >::type little_map; BOOST_STATIC_ASSERT(size::value == 1); /* Success */ BOOST_STATIC_ASSERT(size::value == 1); /* Failure */ I have traced the problem to the file boost/mpl/map/aux_/item.hpp in the class definition of m_item. m_item derives from Base (which is a map<...> type) but does not define a ""typedef m_item type;"" to act as a unary metafunction returning itself. The result is that Base::type is found instead which means that m_item acts as a unary metafunction returning a map with all the inserted elements removed. The class m_item_ at the bottom of the file properly defines a ""typedef m_item_ type;"" which strengthens my belief that it missing from m_item is a bug. The solution, quite staightforwardly is to simply add the line ""typedef m_item type;"" to the class' definition. It should be noted that I am running version 1.48 of Boost, but have checked http://www.boost.org/doc/libs/1_52_0/boost/mpl/map/aux_/item.hpp and it still lacks the define so I'm convinced that this problem will still be there when I download the latest version of boost." Bugs new To Be Determined mpl Boost 1.52.0 Problem