On 7/2/24 13:52, Andrey Semashev wrote:
On 7/1/24 17:45, Niall Douglas via Boost wrote:
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...
I would appreciate any testing and reporting of any issues or bugs before the 1.86 bugfix window closes. It should "just work" once you have enabled inline script loading in your `.gdbinit`.
Is there a benefit to embedding python comments into the script? Since the embedded script itself presumably won't be read by a human, the comments are just unnecessary bloat to the binary size. You could preserve the comments in C++ though.
Also, on the topic of binary size, is this script embedded into the final binary only once, even if the header is included in multiple TUs?