2018-11-17 11:01:29 +01:00
|
|
|
<a id="top"></a>
|
|
|
|
# Deprecations and incoming changes
|
|
|
|
|
2018-11-24 18:01:20 +01:00
|
|
|
This page documents current deprecations and upcoming planned changes
|
|
|
|
inside Catch2. The difference between these is that a deprecated feature
|
|
|
|
will be removed, while a planned change to a feature means that the
|
|
|
|
feature will behave differently, but will still be present. Obviously,
|
|
|
|
either of these is a breaking change, and thus will not happen until
|
|
|
|
at least the next major release.
|
2018-11-17 11:01:29 +01:00
|
|
|
|
|
|
|
|
2020-02-01 20:55:42 +01:00
|
|
|
### Composing lvalues of already composed matchers
|
|
|
|
|
|
|
|
Because a significant bug in this use case has persisted for 2+ years
|
|
|
|
without a bug report, and to simplify the implementation, code that
|
|
|
|
composes lvalues of composed matchers will not compile. That is,
|
|
|
|
this code will no longer work:
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
auto m1 = Contains("string");
|
|
|
|
auto m2 = Contains("random");
|
|
|
|
auto composed1 = m1 || m2;
|
|
|
|
auto m3 = Contains("different");
|
|
|
|
auto composed2 = composed1 || m3;
|
|
|
|
REQUIRE_THAT(foo(), !composed1);
|
|
|
|
REQUIRE_THAT(foo(), composed2);
|
|
|
|
```
|
|
|
|
|
|
|
|
Instead you will have to write this:
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
auto m1 = Contains("string");
|
|
|
|
auto m2 = Contains("random");
|
|
|
|
auto m3 = Contains("different");
|
|
|
|
REQUIRE_THAT(foo(), !(m1 || m2));
|
|
|
|
REQUIRE_THAT(foo(), m1 || m2 || m3);
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-11-24 18:01:20 +01:00
|
|
|
## Planned changes
|
2018-11-17 21:13:56 +01:00
|
|
|
|
2018-11-24 18:01:20 +01:00
|
|
|
### `CHECKED_IF` and `CHECKED_ELSE`
|
|
|
|
|
|
|
|
To make the `CHECKED_IF` and `CHECKED_ELSE` macros more useful, they will
|
|
|
|
be marked as "OK to fail" (`Catch::ResultDisposition::SuppressFail` flag
|
|
|
|
will be added), which means that their failure will not fail the test,
|
|
|
|
making the `else` actually useful.
|
|
|
|
|
|
|
|
|
2019-01-19 13:29:53 +01:00
|
|
|
### Console Colour API
|
|
|
|
|
|
|
|
The API for Catch2's console colour will be changed to take an extra
|
|
|
|
argument, the stream to which the colour code should be applied.
|
|
|
|
|
2019-10-28 15:14:54 +01:00
|
|
|
|
2018-11-17 11:01:29 +01:00
|
|
|
---
|
|
|
|
|
|
|
|
[Home](Readme.md#top)
|