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
Our constraints are too relaxed and allow incompatible view types (i.e. rank > 1 of construction between a LayoutLeft and LayoutRight view). The code won't actually compile as we static assert, but it means that std::constructible_v<dst_type,src_type> gives the incorrect result.
Please include the following for a minimal reproducer
Compilers (with versions) all
Kokkos release or commit used (i.e., the sha1 number) confirmed on current develop and 4.2
This was not a bug or mistake: it was a design choice to provide comprehensible error messages. The issue is that the trait is_constructible_v is misleading since it only takes into account constraints and not mandates. With C++20 error messages of constraints become much better thanks to concepts. My current proposal is to shift constructor mandates to constraints when we compile with C++20 mode, but leave them alone in C++17 mode.
Describe the bug
Our constraints are too relaxed and allow incompatible view types (i.e. rank > 1 of construction between a LayoutLeft and LayoutRight view). The code won't actually compile as we static assert, but it means that
std::constructible_v<dst_type,src_type>
gives the incorrect result.Please include the following for a minimal reproducer
Reproducer: https://godbolt.org/z/3roWPjzsz
The text was updated successfully, but these errors were encountered: