January 2019
Intermediate to advanced
316 pages
8h 8m
English
First, a list has to be defined—in Rust, lacking a null type, each item is chained to the next by an Option property. The Option instances are enumerations that wrap either the value, in this case a heap reference (such as a Box, Rc, and so on), or none—Rust's typed null equivalent. Why? Let's find out!
Creating a prototypical implementation to explore a certain aspect is always a good idea, especially since the compiler often provides excellent feedback. Accordingly, an implementation of an integer list is the first step. How about this struct for each list element?
Have a look at the following code snippet:
struct Node { value: i32, next: Option<Node>}
For practical considerations, it needs a way to know where to start ...