- What is the issue you have?
The following check in unit-concepts fails on MSVC 2015 x86 Debug mode (log):
CHECK(std::is_nothrow_copy_constructible<json::const_iterator>::value)
- Please describe the steps to reproduce the issue. Can you provide a small but working code example?
By borrowing build flags, I have reproduced it here: https://godbolt.org/z/MOkndK
- What is the expected behavior?
This unit test should pass.
- And what is the actual behavior instead?
The unit-test fails merely because of x86 debug build on VS2015.
- Which compiler and operating system are you using?
This only fails on MSVC 2015 (msvc 19.0), x86 target in debug mode.
Speculation
This bug slipped under the radar since our Debug mode for x86 was incorrectly configured and was actually building in Release mode #1543. This issue is a blocker for PR #1570 which aims to bring back the Debug build for x86 MSVC 2015.
By playing with build flags in Godbolt, it seems that the presence of /MDd flag causes this error. This could be similar to #1536 where the C++ compiler on VS2015 added some definitions and symbols to binary in debug mode. This error only happens on VS2015 (msvc 19.0) Debug build (where /MDd is present) and doesn't happen in Release build and/or later compiler versions.
The following check in
unit-conceptsfails on MSVC 2015 x86 Debug mode (log):By borrowing build flags, I have reproduced it here: https://godbolt.org/z/MOkndK
This unit test should pass.
The unit-test fails merely because of x86 debug build on VS2015.
This only fails on MSVC 2015 (msvc 19.0), x86 target in debug mode.
Speculation
This bug slipped under the radar since our Debug mode for x86 was incorrectly configured and was actually building in Release mode #1543. This issue is a blocker for PR #1570 which aims to bring back the Debug build for x86 MSVC 2015.
By playing with build flags in Godbolt, it seems that the presence of
/MDdflag causes this error. This could be similar to #1536 where the C++ compiler on VS2015 added some definitions and symbols to binary in debug mode. This error only happens on VS2015 (msvc 19.0) Debug build (where/MDdis present) and doesn't happen in Release build and/or later compiler versions.