too-many-lists
too-many-lists copied to clipboard
Learn Rust by writing Entirely Too Many linked lists
If I were to implement tests for list in any most other languages, I consider that I would check that iteration don't change the list, that we can iterate twice...
It was done sometime. I believe consistency makes sens here, it seems important for a test to ensure that next's `next` also behaves correctly. Sometime, two None are tested. I...
I also moved iter_mut instide default implementation of list, as there was no reason to be separate. The other ones are not. The consistency was ensured by doing a manual...
On first read, I was extremely confused about this clarification. I could not understand how map was producing this U, while F had a type with no constraint at all....
On first read, it was far from clear which part of the code was copy-pasted and which part was actually what you suggest us to try in your first-implementation of...
In sixth, `split_before` / `split_after` may return illegal empty linked list in some corner cases.
For example: ```rust pub fn split_before(&mut self) -> LinkedList { // We have this: // // list.front -> A B A B None A let output_back = prev; // None...
In chapter 6.6, in ["Basic borrows" section](https://rust-unofficial.github.io/too-many-lists/fifth-testing-stacked-borrows.html#basic-borrows), the `&mut -> *mut -> &mut -> *mut` thing should probably be written as `*mut -> &mut -> *mut -> &mut` according to...
There are unmodified code from stack implementation after the "Let's steal some iterator impls from the stack:" Compiler yells with: ``` error[E0599]: no method named `as_deref` found for raw pointer...
In the chaper 6.7 Layout + Basic Redux ``` Hey that code's actuallyy looking a lot cleaner now that we're sticking to raw pointers! On to pop, which is also...