This successfully compiles with std:cpp14 or std:cpp17 and returns zero.
Expected behavior is a compile-time error with a static assertion related to std::set not satisfying the concept/ADL detection for push_back.
Oddly, if the first #define is commented out, compilation fails due to the macro not being defined, but also with the expected static assertion.
I am not sure if this is a bug with Range-V3-VS2015 or with MSVC itself. On g++7.2 the code fails at compile time with the expected static assertion failure.
The following snippet was tested with Visual Studio 2017 15.6.6.
This successfully compiles with
std:cpp14
orstd:cpp17
and returns zero.Expected behavior is a compile-time error with a static assertion related to
std::set
not satisfying the concept/ADL detection forpush_back
.Oddly, if the first
#define
is commented out, compilation fails due to the macro not being defined, but also with the expected static assertion.I am not sure if this is a bug with Range-V3-VS2015 or with MSVC itself. On g++7.2 the code fails at compile time with the expected static assertion failure.