id summary reporter owner description type status milestone component version severity resolution keywords cc 12305 Requirements for traits::interior_{const,mutable}_type john.firebaugh@… Barend Gehrels "The [http://www.boost.org/doc/libs/1_61_0/libs/geometry/doc/html/geometry/reference/concepts/concept_polygon.html documentation of Polygon Concept] states: > there must be a specialization of `traits::interior_type` defining the type of the collection of its interior rings as type; **this collection itself must fulfill a Boost.Range Random Access Range Concept** (Emphasis mine; the mention of `traits::interior_type` should actually be `traits::interior_const_type` and `traits::interior_mutable_type` -- ticket #12304 -- but the issue I'm reporting here has to do with the latter bolded part of the statement.) It appears that `boost::geometry::intersection` makes requirements on the interior type that are not a part of the Boost.Range Random Access Range Concept. Specifically, boost/geometry/algorithms/detail/overlay/convert_ring.hpp [https://github.com/boostorg/geometry/blob/boost-1.61.0/include/boost/geometry/algorithms/detail/overlay/convert_ring.hpp#L90 calls `interior_rings(destination).resize(...)`], and `resize` is not part of the Random Access Range Concept. A test case is attached; it fails to compile with the following error: {{{ /boost/1.61.0/include/boost/geometry/algorithms/detail/overlay/convert_ring.hpp:90:45: error: no member named 'resize' in 'boost::iterator_range > *> >' interior_rings(destination).resize( ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ }}} Is this an error in convert_ring.hpp, or are there additional requirements on the interior type which are not documented?" Bugs new To Be Determined geometry Boost 1.61.0 Problem john.firebaugh@…