$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: ÐмиÑÑий ÐÑÑ
ипов (grisumbras_at_[hidden])
Date: 2024-07-01 15:16:28
пн, 1 иÑл. 2024â¯Ð³. в 17:45, Niall Douglas via Boost <boost_at_[hidden]>:
>
> 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/outcome_gdb.h
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