id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 12566,"rtree: equal_to ambiguous template instantiation when contain a raw pointer in pair, calling method remove",cedric@…,Barend Gehrels,"Im trying to compile this example: main.cpp: {{{ #include namespace bg = boost::geometry; namespace bgi = boost::geometry::index; namespace bgm = boost::geometry::model; int main() { using Point = bgm::point>; using ValueType = std::pair; using Rtree = bgi::rtree>; int a,b; Rtree rtree; rtree.insert(std::make_pair(Point(45,45), &a)); rtree.insert(std::make_pair(Point(45,45), &b)); rtree.remove(std::make_pair(Point(45,45), &b)); return 0; } }}} using gcc 6.2.1 and boost 1.61.0 or 1.58.0 (no problem with boost 1.52.0) I got folowing error: {{{ /usr/include/boost/geometry/index/equal_to.hpp:127:41: erreur : ambiguous template instantiation for ‘struct boost::geometry::index::detail::equals’ && detail::equals::apply(l.second, r.second); ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ /usr/include/boost/geometry/index/equal_to.hpp:28:8: note : candidats sont : template struct boost::geometry::index::detail::equals [with Geometry = int; Tag = void] struct equals ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/boost/geometry/index/equal_to.hpp:37:8: note : template struct boost::geometry::index::detail::equals [with T = int*] struct equals ^~~~~~~~~~~~~~~ /usr/include/boost/geometry/index/equal_to.hpp:127:41: erreur : incomplete type ‘boost::geometry::index::detail::equals’ used in nested name specifier && detail::equals::apply(l.second, r.second); ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ }}} no problem if I replace int* by int also document here [http://stackoverflow.com/questions/39970131/issue-storing-raw-pointers-in-boost-r-tree]",Bugs,closed,Boost 1.64.0,geometry,Boost 1.61.0,Regression,fixed,index rtree equal_to,