fn turtle_program_iter(&self) -> TurtleProgramIterator {
        let sequence = self
            .cacheable_system
            .generate(self.cacheable_system.system.iteration());
        log::debug!("Done");

        TurtleProgramIterator::new(Box::new(LindenmayerSystemTurtleProgramIterator {
            alphabet: PhantomData,
            program: (*self).clone(),
            sequence,
            curr_step: 0,
        }))
    }
// The lifetimes are needed here to satisfy TurtleProgramIterator's type signature.
The lifetimes are needed here to satisfy TurtleProgramIterator's type signature.
The lifetimes are needed here to satisfy TurtleProgramIterator ' s type signature .
fn turtle_program_iter(&self) -> TurtleProgramIterator {
        let sequence = self
            .cacheable_system
            .generate(self.cacheable_system.system.iteration());
        log::debug!("Done");
        TurtleProgramIterator::new(Box::new(LindenmayerSystemTurtleProgramIterator {
            alphabet: PhantomData,
            program: (*self).clone(),
            sequence,
            curr_step: 0,
        }))
    }
fn turtle_program_iter ( & self ) -> TurtleProgramIterator { let sequence = self . cacheable_system . generate ( self . cacheable_system . system . iteration ( ) ) ; log :: debug ! ( " " ) ; TurtleProgramIterator :: new ( Box :: new ( LindenmayerSystemTurtleProgramIterator { alphabet : PhantomData , program : ( * self ) . clone ( ) , sequence , curr_step : 0 , } ) ) }
The lifetimes are needed here to satisfy TurtleProgramIterator's type signature.
The lifetimes are needed here to satisfy TurtleProgramIterator ' s type signature .
&self