diff --git a/ConflictSet.cpp b/ConflictSet.cpp index f469124..c69d3a3 100644 --- a/ConflictSet.cpp +++ b/ConflictSet.cpp @@ -727,7 +727,8 @@ Node *nextLogical(Node *node) { return node; } -// Precondition: self is not the root +// Precondition: self is not the root. May invalidate nodes along the search +// path to self. Node *erase(Node *self, NodeAllocators *allocators, ConflictSet::Impl *impl) { assert(self->parent != nullptr); @@ -1577,7 +1578,7 @@ bool checkRangeRead(Node *n, std::span begin, // Returns a pointer to the newly inserted node. Caller must set // `entryPresent`, `entry` fields and `maxVersion` on the result. The search // path of the result's parent will have `maxVersion` at least `writeVersion` as -// a postcondition. Nodes along the search path may be invalidated. +// a postcondition. Nodes along the search path to `key` may be invalidated. template [[nodiscard]] Node *insert(Node **self, std::span key, int64_t writeVersion, NodeAllocators *allocators,