don't allow self-reference in enqueue