<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/src/catch2/internal/catch_assertion_handler.cpp, branch devel-noexcept-funcs</title>
<subtitle>Progmasoft Catch3: an independently maintained C++17 test framework with a parallel runner, property checks, snapshots and structured results.</subtitle>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/'/>
<entry>
<title>WIP: More noexcept</title>
<updated>2026-09-05T13:24:15+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-09-02T18:53:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=ace418200064a2467441f565f74ac41cf5884150'/>
<id>ace418200064a2467441f565f74ac41cf5884150</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>WIP: noexcept in handleUnexpectedInFlightException</title>
<updated>2026-09-04T21:21:11+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-09-04T21:21:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=1d406997a25f07854191be2552f82d6612247ae2'/>
<id>1d406997a25f07854191be2552f82d6612247ae2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>AssertionHandler uses RunContext directly to avoid virtual dispatch</title>
<updated>2026-04-13T20:56:55+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-04-13T20:56:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=10f62484bff73e3a58a411e2e10b4e1c13cfba9f'/>
<id>10f62484bff73e3a58a411e2e10b4e1c13cfba9f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rework internals of CATCH_REGISTER_ENUM</title>
<updated>2026-04-08T10:57:09+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-04-08T08:26:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=47200ddbee03eaf4a9d3d99d18cb692381d8f5bc'/>
<id>47200ddbee03eaf4a9d3d99d18cb692381d8f5bc</id>
<content type='text'>
The old internals reached into the global hub to stash the allocation(s)
for enum value -&gt; string value there, then kept around a potentially
invalid (in case the hub was cleaned up) reference into it, going through
whole bunch of virtual dispatch in the process.

The new internals just store the data in a static variable inside the
`StringMaker` specialization. This avoids potential lifetime issues,
avoids all virtual dispatch and (almost) reduces the include bloat in
the main header path.

The reason for (almost) there is that for full include correctness,
`EnumInfo` needs `&lt;utility&gt;` include for `std::pair`. However, this brings
in things like `std::relops`, because the std headers in C++ are dumb.
As this was not included before, and instead we relied on `std::pair`
existing in an internal stdlib header that we transitively included, the
full include size ends up bigger than before.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The old internals reached into the global hub to stash the allocation(s)
for enum value -&gt; string value there, then kept around a potentially
invalid (in case the hub was cleaned up) reference into it, going through
whole bunch of virtual dispatch in the process.

The new internals just store the data in a static variable inside the
`StringMaker` specialization. This avoids potential lifetime issues,
avoids all virtual dispatch and (almost) reduces the include bloat in
the main header path.

The reason for (almost) there is that for full include correctness,
`EnumInfo` needs `&lt;utility&gt;` include for `std::pair`. However, this brings
in things like `std::relops`, because the std headers in C++ are dumb.
As this was not included before, and instead we relied on `std::pair`
existing in an internal stdlib header that we transitively included, the
full include size ends up bigger than before.
</pre>
</div>
</content>
</entry>
<entry>
<title>Move all use of IResultCapture in AssertionHandler into the cpp file</title>
<updated>2026-04-07T07:32:07+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-04-06T20:51:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=e83218c2dfdf80fd53526fe389c0a3271696a106'/>
<id>e83218c2dfdf80fd53526fe389c0a3271696a106</id>
<content type='text'>
This has two advantages

1) Removing the include of `catch_interfaces_capture.hpp` from the
   header and potentially allowing further pruning later.
2) Providing small-but-measurable 1-2% speedup for assertions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This has two advantages

1) Removing the include of `catch_interfaces_capture.hpp` from the
   header and potentially allowing further pruning later.
2) Providing small-but-measurable 1-2% speedup for assertions.
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid needless copy of string in runContext::handleMessage</title>
<updated>2024-09-13T14:39:51+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-09-13T11:42:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=412cad546a89cda9eaa8ef77d8161b719182cc9e'/>
<id>412cad546a89cda9eaa8ef77d8161b719182cc9e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Cleanup includes in sources</title>
<updated>2023-12-23T10:23:32+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-12-21T17:42:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=9aadc3a53d7208f8b44260dfef26b18671f7edd0'/>
<id>9aadc3a53d7208f8b44260dfef26b18671f7edd0</id>
<content type='text'>
Mainly just removes some unused includes, but sometimes the include
is replaced by a smaller header instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Mainly just removes some unused includes, but sometimes the include
is replaced by a smaller header instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix assertionStarting events being sent after the expr is evaluated</title>
<updated>2023-05-06T09:48:41+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-05-06T09:48:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=d84777c9cbf5b1b7d0e9ef2e14606ece254adf7a'/>
<id>d84777c9cbf5b1b7d0e9ef2e14606ece254adf7a</id>
<content type='text'>
Closes #2678
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #2678
</pre>
</div>
</content>
</entry>
<entry>
<title>Reduce misc includes all around</title>
<updated>2023-03-23T15:50:07+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-03-23T12:41:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=c487b27d9d98e69358f3eee7b02c7d2ad0889139'/>
<id>c487b27d9d98e69358f3eee7b02c7d2ad0889139</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Outline throwing of TestSkipException</title>
<updated>2023-03-11T23:45:31+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2023-03-11T23:45:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=1dfaa8abe7ee6da548697ed8c6a704a2e7db1e41'/>
<id>1dfaa8abe7ee6da548697ed8c6a704a2e7db1e41</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
