fn calc_offset<T, F: FnOnce(&ChipState) -> &T>(&self, f: F) -> Offset<T> {
        let state = self.state();
        let addr = f(&state) as *const T as usize;

        let state_addr = self.state_address() as usize;
        assert!(state_addr <= addr);

        Offset {
            bytes: addr - state_addr,
            _p: PhantomData,
        }
    }
/// Calculate an offset into the `ChipState`.
Calculate an offset into the `ChipState`.
Calculate an offset into the ` ChipState ` .
fn calc_offset<T, F: FnOnce(&ChipState) -> &T>(&self, f: F) -> Offset<T> {
        let state = self.state();
        let addr = f(&state) as *const T as usize;
        let state_addr = self.state_address() as usize;
        assert!(state_addr <= addr);
        Offset {
            bytes: addr - state_addr,
            _p: PhantomData,
        }
    }
fn calc_offset < T , F : FnOnce ( & ChipState ) -> & T > ( & self , f : F ) -> Offset < T > { let state = self . state ( ) ; let addr = f ( & state ) as * const T as usize ; let state_addr = self . state_address ( ) as usize ; assert ! ( state_addr addr ) ; Offset { bytes : addr - state_addr , _p : PhantomData , } }
Calculate an offset into the `ChipState`.
Calculate an offset into the ` ChipState ` .
&self
f
F
&self
f
F