Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
520 changes: 335 additions & 185 deletions aptos-move/framework/aptos-framework/doc/big_ordered_map.md

Large diffs are not rendered by default.

334 changes: 166 additions & 168 deletions aptos-move/framework/aptos-framework/doc/ordered_map.md

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ spec aptos_std::big_ordered_map {
pragma verify = false;
}

spec lower_bound {
spec internal_lower_bound {
pragma opaque;
pragma verify = false;
}
Expand Down Expand Up @@ -221,17 +221,17 @@ spec aptos_std::big_ordered_map {
}


spec find {
spec internal_find {
pragma opaque;
pragma verify = false;
}

spec new_begin_iter {
spec internal_new_begin_iter {
pragma opaque;
pragma verify = false;
}

spec new_end_iter {
spec internal_new_end_iter {
pragma opaque;
pragma verify = false;
}
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ spec aptos_std::ordered_map {
}


spec lower_bound {
spec internal_lower_bound {
pragma opaque;
pragma verify = false;
}
Expand Down Expand Up @@ -257,17 +257,17 @@ spec aptos_std::ordered_map {
}


spec find {
spec internal_find {
pragma opaque;
pragma verify = false;
}

spec new_begin_iter {
spec internal_new_begin_iter {
pragma opaque;
pragma verify = false;
}

spec new_end_iter {
spec internal_new_end_iter {
pragma opaque;
pragma verify = false;
}
Expand All @@ -282,5 +282,9 @@ spec aptos_std::ordered_map {
pragma verify = false;
}

spec remove_or_none {
pragma opaque;
pragma verify = false;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ error: undeclared receiver function `borrow` for type `vector<Entry<K, V>>`
25 │ &map.entries.borrow(self.index).key
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: undeclared receiver function `lower_bound` for type `OrderedMap<K, V>`
┌─ tests/checking/receiver/bad_receiver.move:29:27
error: undeclared receiver function `internal_lower_bound` for type `OrderedMap<K, V>`
┌─ tests/checking/receiver/bad_receiver.move:29:36
29 │ let lower_bound = self.lower_bound(key);
│ ^^^^^^^^^^^^^^^^^^^^^
29 │ let internal_lower_bound = self.internal_lower_bound(key);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: type cannot have type arguments
┌─ tests/checking/receiver/bad_receiver.move:39:36
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,22 @@ module aptos_std::ordered_map {
&map.entries.borrow(self.index).key
}

public fun find<K, V>(self: &OrderedMap<K, V>, key: &K): Iterator {
let lower_bound = self.lower_bound(key);
if (lower_bound.iter_is_end(self)) {
lower_bound
} else if (lower_bound.iter_borrow_key(self) == key) {
lower_bound
public fun internal_find<K, V>(self: &OrderedMap<K, V>, key: &K): Iterator {
let internal_lower_bound = self.internal_lower_bound(key);
if (internal_lower_bound.iter_is_end(self)) {
internal_lower_bound
} else if (internal_lower_bound.iter_borrow_key(self) == key) {
internal_lower_bound
} else {
self.new_end_iter()
self.internal_new_end_iter()
}
}

public fun borrow<K, V>(self: &OrderedMao<K, V>, key: &K): &V {
self.find(key).iter_borrow(self)
}

public fun new_end_iter<K, V>(self: &OrderedMap<K, V>): Iterator {
public fun internal_new_end_iter<K, V>(self: &OrderedMap<K, V>): Iterator {
Iterator::End
}

Expand Down
Loading