edouarda/brigand

is_set: the results differ between compilers (clang/gcc vs msvc)

jonathanpoelen opened this issue · 3 comments

brigand::is_set<void, int&, int, int>::value = false with clang and gcc, true with msvc.

MSVC 2015 (at least Update 2) is correct about it.
MSVC 2013 (Update 5, MSVC 18.0.40629.0) fails.

Maybe minimum MSVC version should be changed?

блин. We no longer work on MSVC 2013? We have on the roadmap to remove VS2013 support but I'd like to wait for the next VS.

With the detection of MSVC versions, we can add this:

#pragma message("brigand::is_set is known to return false positives with MSVC 2013")