906 B
906 B
Intro
In the previous chapter we modelled Ticket in a vacuum:
we defined its fields and their constraints, we learned how to best
represent them in Rust, but we didn’t consider how Ticket
fits into a larger system. We’ll use this chapter to build a simple
workflow around Ticket, introducing a (rudimentary)
management system to store and retrieve tickets.
The task will give us an opportunity to explore new Rust concepts, such as:
- Stack-allocated arrays
Vec, a growable array type, and slicesIteratorandIntoIterator, for iterating over collections- Slices (
&[T]), to work with parts of a collection - Lifetimes, to describe how long references are valid
HashMapandBTreeMap, two key-value data structuresEqandHash, to compare keys in aHashMapOrdandPartialOrd, to work with aBTreeMapIndexandIndexMut, to access elements in a collection