pub fn reserve(
        &mut self,
    ) -> AllocId {
        let next = self.next_id;
        self.next_id.0 = self.next_id.0
            .checked_add(1)
            .expect("You overflowed a u64 by incrementing by 1... \
                     You've just earned yourself a free drink if we ever meet. \
                     Seriously, how did you do that?!");
        next
    }
/// Obtains a new allocation ID that can be referenced but does not
/// yet have an allocation backing it.
///
/// Make sure to call `set_alloc_id_memory` or `set_alloc_id_same_memory` before returning such
/// an `AllocId` from a query.
Obtains a new allocation ID that can be referenced but does not
yet have an allocation backing it.


Obtains a new allocation ID that can be referenced but does not yet have an allocation backing it .
pub fn reserve(
        &mut self,
    ) -> AllocId {
        let next = self.next_id;
        self.next_id.0 = self.next_id.0
            .checked_add(1)
            .expect("You overflowed a u64 by incrementing by 1... \
                     You've just earned yourself a free drink if we ever meet. \
                     Seriously, how did you do that?!");
        next
    }
pub fn reserve ( & mut self , ) -> AllocId { let next = self . next_id ; self . next_id . 0 = self . next_id . 0 . checked_add ( 1 ) . expect ( " \
 \
 " ) ; next }
Obtains a new allocation ID that can be referenced but does not
yet have an allocation backing it.
Obtains a new allocation ID that can be referenced but does not yet have an allocation backing it .
&mut self
&mut self