
On Thu, Sep 11, 2025, at 7:01 PM, Andrey Semashev via Boost wrote:
On September 11, 2025 4:02:49 PM Peter Dimov via Boost <boost@lists.boost.org> wrote:
Alexander Grund wrote:
I also don't see any machine-readable statement of the required C++ standard. The README says C++23 & 26 but the meta-json and compile-requirements in the build files haven't been updated.
That's because boostorg/spirit holds three libraries, one of which requires C++03, the other I'm not sure what, and the third (X3, the one under discussion) used to require C++17.
Thing is, as I've been told recently, only X3 is currently being maintained. The other two are unmaintained, as I understand, including no bug fixes. So, unless you're fine with depending on unmaintained code, Spirit == X3, and you are affected by this change.
Oh wow. That's a deal-breaker to me, because X3 is experimental AND has significant issues. Some things are hard/impossible to port from Qi to X3 - exacerbated by the (spurious?) decision of a dev to not only "not implement" a qi::lazy pendant, but even go so far as to deprecate the essential building block `x3::any_parser` - which is like a type-erased x3::rule (https://github.com/boostorg/spirit/issues/530#issuecomment-3254447450) If the problem is that that Qi is not maintained, THAT should be fixed, as it is by far the most mature component in the Spirit library. Source: be me and volunteer Spirit support (mailing list and Stackoverflow) for the larger part of the last 2 decades. Seth (sehe)