Note that this does not implement the product code changes to <utility> and <any>, this is only the necessary changes to accompanying test code.
Details
Diff Detail
Event Timeline
Do these tests pass with the current <any> implementation, or will they have to wait?
test/std/utilities/utility/utility.inplace/inplace.pass.cpp | ||
---|---|---|
40 | Please just use static_assert(x) instead. Since this is C++1z only, you don't need to supply a message. If the test fails, the compiler will give you file and line #. If I see an all caps STATIC_ASSERT, then my first bit of research has to be "how is this different from static_assert?" |
Do these tests pass with the current <any> implementation, or will they have to wait?
These tests do not pass without making the changes required in P0504R0 to <utility> and <any>. (Interestingly <optional> is unaffected; its use of in_place_t and in_place is source-compatible despite the changed definitions of those names.) I would have made those changes as well, but my request for permission to contribute changes to non-test code hasn't yet returned from the void into which I cast it. If neither of you get around to it, I may put an hour into it over the weekend.
test/std/utilities/utility/utility.inplace/inplace.pass.cpp | ||
---|---|---|
40 | static_assert(false); in Visual C++ diagnoses with the incredibly informative:
so I've developed this habit which inadvertently leaked into the diff. Fixing. |
LGTM. This patch misses any.modifiers/emplace.pass.cpp but I'll fix that up and commit with the libc++ changes!
Please just use static_assert(x) instead. Since this is C++1z only, you don't need to supply a message. If the test fails, the compiler will give you file and line #.
If I see an all caps STATIC_ASSERT, then my first bit of research has to be "how is this different from static_assert?"