пн, 1 июл. 2024 г. в 17:45, Niall Douglas via Boost
Dear Boost,
The biggest new feature to land into Outcome since it went ABI stable is inline GDB pretty printing support, whereby we embed into all binaries using Outcome the Python script to display the state of `result<>/outcome<>`. As Outcome uses a layered inheritance technique to match triviality of member functions from its configured types, having to click down through the layers to discover the state was always frustrating. MSVC has long shipped with a visualiser to eliminate this, so now support for GDB matches MSVC support.
The relevant implementation file can be found at:
https://github.com/boostorg/outcome/blob/master/include/boost/outcome/outcom...
This is a very neat trick. I have a WIP branch with GDB printers for JSON (https://github.com/boostorg/json/pull/733). The branch hasn't been merged yet mostly because I couldn't decide on the best way to deploy the script. And this trick trivializes that problem