use std::marker::PhantomData; /// A token signifying a OpenGL object is currently bound. pub struct CurrentlyBound<'token, Object> { _token: PhantomData<&'token Object>, } impl<'token, Object> CurrentlyBound<'token, Object> { /// Returns a new `CurrentlyBound`. /// /// # Safety /// A object must actually be currently bound. Otherwise, UB can occur. #[must_use] pub unsafe fn new() -> Self { Self { _token: PhantomData, } } }