FYI, [Boost].UT (since v1.1.2) has relaxed the standard requirement to C++17 (although some limitations apply depending on the standard/compiler combination).

In general, source_location is available since C++20, however, the builtin functionality powering it (__builtin_FILE(), __builtin_LINE()) is available since GCC-9/Clang-9.

Therefore, now:
* [Boost].UT with Clang/GCC >= 9 and with either C++17 or C++20 works as expected (although with C++17 it uses compiler builtin designed for C++20 source_location)
* [Boost].UT with Clang/GCC < 9 and with either C++17 or C++20 still compiles/`works`, however, the file/line in assertion won't be propagated

Also, MSVC-2019 doesn't support source_location yet neither with /std:C++20 nor with /std:C++latest, hence, the file/line is also not propagated yet.

Example here -> https://godbolt.org/z/XNgMdN

-Kris

On Fri, Nov 22, 2019 at 1:53 PM Vinnie Falco <vinnie.falco@gmail.com> wrote:
On Thu, Nov 21, 2019 at 7:24 AM Krzysztof Jusiak via Boost-users
<boost-users@lists.boost.org> > I was wondering whether there is any
interest in exploring
> a C++20 single header/single module, macro-free Unit
> Testing Framework with no dependencies?

I have no interest in a library that requires C++20, especially
considering that C++20 is not even official yet but also because once
C++20 is released, there will be hardly any users for many years. This
project seems very much like it was written "just because", to use the
latest language features, rather than for pragmatic reasons. I don't
see anything compelling to use it over Boost.LightweightTest for
example.

Thanks