unsafe fn create(mut ptr: *const Entry, scope: *const Entry) -> Self {
        // NOTE: If we're looking at a `End(..)`, we want to advance the cursor
        // past it, unless `ptr == scope`, which means that we're at the edge of
        // our cursor's scope. We should only have `ptr != scope` at the exit
        // from None-delimited sequences entered with `ignore_none`.
        while let Entry::End(exit) = *ptr {
            if ptr == scope {
                break;
            }
            ptr = exit;
        }

        Cursor {
            ptr: ptr,
            scope: scope,
            marker: PhantomData,
        }
    }
/// This create method intelligently exits non-explicitly-entered
/// `None`-delimited scopes when the cursor reaches the end of them,
/// allowing for them to be treated transparently.
This create method intelligently exits non-explicitly-entered
`None`-delimited scopes when the cursor reaches the end of them,
allowing for them to be treated transparently.
This create method intelligently exits non - explicitly - entered ` None ` - delimited scopes when the cursor reaches the end of them allowing for them to be treated transparently .
unsafe fn create(mut ptr: *const Entry, scope: *const Entry) -> Self {
        // NOTE: If we're looking at a `End(..)`, we want to advance the cursor
        // past it, unless `ptr == scope`, which means that we're at the edge of
        // our cursor's scope. We should only have `ptr != scope` at the exit
        // from None-delimited sequences entered with `ignore_none`.
        while let Entry::End(exit) = *ptr {
            if ptr == scope {
                break;
            }
            ptr = exit;
        }
        Cursor {
            ptr: ptr,
            scope: scope,
            marker: PhantomData,
        }
    }
unsafe fn create ( mut ptr : * const Entry , scope : * const Entry ) -> Self { // NOTE: If we're looking at a `End(..)`, we want to advance the cursor // past it, unless `ptr == scope`, which means that we're at the edge of // our cursor's scope. We should only have `ptr != scope` at the exit // from None-delimited sequences entered with `ignore_none`. while let Entry :: End ( exit ) = * ptr { if ptr == scope { break ; } ptr = exit ; } Cursor { ptr : ptr , scope : scope , marker : PhantomData , } }
This create method intelligently exits non-explicitly-entered
`None`-delimited scopes when the cursor reaches the end of them,
allowing for them to be treated transparently.
This create method intelligently exits non - explicitly - entered ` None ` - delimited scopes when the cursor reaches the end of them allowing for them to be treated transparently .
ptr
*const Entry
scope
*const Entry
ptr
*const Entry
scope
*const Entry