You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using the Visual Studio generator to build flux I'm now getting this build error:
flux\test\test_read_only.cpp(132,28): error C2607: static assertion failed
flux\test\test_read_only.cpp(132,28): message : the concept 'std::same_as<std::pair<const int &,const double &>,std::pair<const int &&,const double &&>>' evaluated to false
C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\concepts(36,9): message : 'std::pair<const int &,const double &>' and 'std::pair<const int &&,const double &&>' are different types
The offending code in concepts.hpp. FLUX_HAVE_CPP23_TUPLE_COMMON_REF is true in this context.
Thanks @DeveloperPaul123, not sure how I missed this when I was testing the new VS release the other day!
I get the same thing when compiling with GCC13 in C++23 mode. It looks like the culprit was #97, which removed the move_at() specialisation for read_only_adaptor.
(As an aside: perhaps it's worth running CI with both CXX_STANDARD=20 and CXX_STANDARD=23 on the latest compilers to catch things like this?)
Since #97 this was falling back to `map_adaptor::move_at()`, which does the wrong thing in C++23 mode when the base element type is something like `tuple<T&>`.
Fixes#117
When using the Visual Studio generator to build
flux
I'm now getting this build error:The offending code in
concepts.hpp
.FLUX_HAVE_CPP23_TUPLE_COMMON_REF
istrue
in this context.The text was updated successfully, but these errors were encountered: