Skip to content

Commit 49fa6ee

Browse files
committed
Fix MSVC compilation: Remove non-portable iterator assertion
MSVC's unordered_map provides bidirectional iterators while GCC/Clang only provide forward iterators. Both are standard-compliant, so the assertion checking that iterators are NOT bidirectional fails on MSVC. Fixes: error C2607: static assertion failed at line 126
1 parent 3b09849 commit 49fa6ee

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

tests/test_dynamic_graph_uos.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,9 @@ TEST_CASE("uos iterator categories", "[dynamic_graph][uos][iterators]") {
122122
using G = uos_void_void_void;
123123
using iter_t = typename G::vertices_type::iterator;
124124
static_assert(std::forward_iterator<iter_t>);
125-
// unordered_map iterators are only forward, not bidirectional
126-
static_assert(!std::bidirectional_iterator<iter_t>);
125+
// Note: unordered_map iterators are forward in the standard, but some
126+
// implementations (like MSVC) provide bidirectional iterators
127+
// static_assert(!std::bidirectional_iterator<iter_t>); // Not portable
127128
static_assert(!std::random_access_iterator<iter_t>);
128129
REQUIRE(true);
129130
}

0 commit comments

Comments
 (0)