class Async::List
def remove(node)
@raises [ArgumentError] If the node is not part of this list.
You should be careful to only remove nodes that are part of this list.
Remove the node. If it was already removed, this will raise an error.
def remove(node) # One downside of this interface is we don't actually check if the node is part of the list defined by `self`. This means that there is a potential for a node to be removed from a different list using this method, which in can throw off book-keeping when lists track size, etc. unless node.head raise ArgumentError, "Node is not in a list!" end remove!(node) end