emil-e/rapidcheck

Does not compile under Visual Studio 2019 with C++20

Warwolt opened this issue · 3 comments

Hi!

When compiling this project under MSVC 2019 with the standard set to C++20, the Seq.h header fails with error:

Seq.h(37,45): error C2653: 'result_of': is not a class or namespace name 

result_of was depricated in C++17 and has been removed in C++20, and according to notes on cppreference the preferred alternative is to use invoke_result.

Just saw that this could potentially be addressed by #261 if it becomes accepted.

To correctly reflect the language level to __cplusplus for MSVC、We must supply the /Zc:__cplusplus option. Otherwise __cplusplus == 199711L 😞

I could build this using MSVC with C++20 now, closing this issue.