This is just my own personal Rust practice, trying to implement a lending iterator.
Check out the [lending-iterator
] crate for a full implementation of lending iterators,
it's lead by the great Daniel Henry-Mantilla, who knows much more about this than I do and is one of the lead champions of Higher-Kinded things like this in the Rust community. The [streaming-iterator
] crate is also a great crate if you only need to iterate over a reference to an item.
If, for whatever unknown reason, you want to use this crate instead of [lending-iterator
], this is licensed under the MIT or Apache-2.0 license, as I've obviously repurposed much of the code from the Rust Core Library and using it.
I couldn't have even hoped to begin trying to use this problem as practice without relying on help from the following people and resources, please check them out:
lending-iterator
] and many other great crates for complex Rust problemsMany patterns in lending iterators require polonius-emulating unsafe code, but please, if you see any unsafe code that can be made safe, please let me know! I am still learning Rust and I'm sure I've made many mistakes.