- Decrement n_items when removing the root node - Use owned return to properly transfer ownership of the returned item
@@ -130,6 +130,7 @@ namespace Invercargill.DataStructures {
root = root->next;
item = old_root->value;
delete old_root;
+ n_items--;
if(root == null) {
end = null;
}
@@ -138,7 +139,7 @@ namespace Invercargill.DataStructures {
if(e != null) {
throw e;
- return item;
+ return (owned)item;
public void remove_first_where(Invercargill.PredicateDelegate<T> predicate) {