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