Learning Rust with "Too Many Linked Lists" (Episode 2) - Pop & Drop
Channel: Paul Barker
Date: 2021-01-15

This is the second episode of my series on learning the Rust programming language, following the "Learn Rust by writing Entirely Too Many Linked Lists" tutorial. To read this tutorial for yourself please see the following links:
  * https://rust-unofficial.github.io/too-many-lists/
  * https://github.com/rust-unofficial/too-many-lists

In this video I add implementations of the pop() and drop() functions for our basic stack type. The drop function is particularly interesting so I try to explain how the loop in this function works using a diagram.

To see the state of the lists git repository at the end of this video, go to https://gitlab.com/pbarker.dev/rust/lists/-/tree/814ab08dafcb3d8117051112915e41b5ad1dc2c2

Note: I am not the author of the original tutorial, I'm just sharing my experience of learning Rust & following this tutorial.

Rust playlist: https://www.youtube.com/playlist?list=PLO6q4-ktclzBAUmcN8nnMUhVwa6RgfuFi

#rustlang #linux

========================================================================

Twitter: https://twitter.com/pbarker_dev
Website: https://pbarker.dev/

========================================================================

00:00 - Introduction
01:41 - Implementing pop()
15:37 - Implementing drop()
29:42 - Explaining the drop() implementation
33:27 - The end

========================================================================

The text content shown in this video from the "Learn Rust by writing Entirely Too Many Linked Lists" tutorial is accompanied by the following copyright notice and license:

    Copyright (c) 2015 Alexis Beingessner

    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in
    all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    THE SOFTWARE.