Check that Redirect is not passed to exchange()
[junction.git] / junction / ConcurrentMap_LeapFrog.h
index 389ce4088e145e2f5b631582083002ee6ce2b539..f6b1e6c0c24fd5f7d5d6a53542f10f899c2d9411 100644 (file)
@@ -133,6 +133,7 @@ public:
 
         Value exchangeValue(Value desired) {
             TURF_ASSERT(desired != Value(ValueTraits::NullValue));
+            TURF_ASSERT(desired != Value(ValueTraits::Redirect));
             TURF_ASSERT(m_cell); // Cell must have been found or inserted
             TURF_TRACE(ConcurrentMap_LeapFrog, 4, "[Mutator::exchangeValue] called", uptr(m_table), uptr(m_value));
             for (;;) {