Skip to content

Commit a38e9d5

Browse files
committed
review
1 parent 0c090eb commit a38e9d5

File tree

1 file changed

+2
-6
lines changed

1 file changed

+2
-6
lines changed

docs/overview/cpp-conformance-improvements.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,12 @@ Visual Studio 2022 version 17.14 includes the following conformance improvements
2525

2626
### Conformance improvements
2727

28-
- Standard library hardening ([P3471R4](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3471r4.html)) turns some instances of undefined behavior in the standard library into a contract violation. Off by default. Define `_MSVC_STL_HARDENING=1` project-wide to enable.
28+
- Standard library hardening ([P3471R4](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3471r4.html)) turns some instances of undefined behavior in the standard library into a call to [__fastfail](../intrinsics/fastfail.md). Off by default. Define `_MSVC_STL_HARDENING=1` project-wide to enable.
2929

3030
### Enhanced behavior
3131

3232
- Implemented "destructor tombstones" to mitigate use-after-free mistakes. Off by default. Define `_MSVC_STL_DESTRUCTOR_TOMBSTONES=1` project-wide to enable.
3333

34-
### Behavior changes
35-
36-
- [LWG-4014](https://cplusplus.github.io/LWG/issue4014) and [LWG-3809](https://cplusplus.github.io/LWG/issue3809) affects the seeding behavior for `std::subtract_with_carry_engine`. Previously, when the engine was seeded with values from a `linear_congruential_engine<T, 40014u, 0u, 2147483563u>` object, narrowing resulted when `T` was less than 32 bits. Now the seed sequence uses `linear_congruential_engine<uint_least32_t, 40014u, 0u, 2147483563u>` with the seed value reduced modulo `2147483563u` so that it isn't narrowed if `T` is less than 32 bits.
37-
3834
### Bug fixes
3935

4036
- Fixed errant compiler errors when using `<format>` in a CUDA project.
@@ -73,7 +69,7 @@ Visual Studio 2022 version 17.14 includes the following conformance improvements
7369
};
7470
```
7571

76-
- Referencing binding to volatile-qualified types fixed when referring to a base or derived class. For example:
72+
- Reference binding to volatile-qualified types fixed when referring to a base or derived class. For example:
7773

7874
```cpp
7975
struct A {};

0 commit comments

Comments
 (0)