I have a legacy geometry and i want boost::geometry to use it. It
works on some examples but not always. I have followed the manual but
i am stuck with the following test :

BOOST_AUTO_TEST_CASE(TestPolygonUnion)
{
    Polygon poly1(Ring({{0, 0}, {10, 0}, {10, 10}, {0, 10}}));
    Polygon poly2(Ring({{5, 5}, {15, 5}, {15, 15}, {5, 15}}));
  
    std::vector< Polygon > polygons;

    intersection(poly1, poly2, polygons);  <- in this method
    BOOST_REQUIRE_EQUAL(polygons.size(), 1u);
    BOOST_CHECK_EQUAL(area(polygons[0]), 25.0);
}


It leads to a error in backtrack_check_si.hpp
template
<
    typename Geometry1,
    typename Geometry2
>
class backtrack_check_self_intersections
{
...
  // Make bad output clean
   rings.resize(size_at_start);
   ring.clear();                              <- here this method does not exist

My ring class does not have this clear method ; should not it use the method i defined ?
template <> struct clear< Geom::Ring >
{
    static void apply(Geom::Ring & r) { r.points().clear(); };
};

Best regards

Renaud