Module show_notes::e009 [] [src]

Composing a Rustic tune

Notes

Last time, we looked at generics and traits at a high level. This time, we dig deeper on traits, looking specifically at std::iter::Iterator as an example of a powerful trait that can be composed across types, and then at how we might compose multiple traits on a single type.

We also talk about the syntax for traits, the use of marker traits, some of the things you can't presently do with traits, and even just a smidge about the future of traits in Rust. All that in less than 20 minutes!

You'll find today's source example fairly interesting, I think: it's just one type, but it uses almost every concept discussed on the show today!

Sponsors

Become a sponsor

Follow

Structs

DoubleAndOne

Define a simple struct on which to implement Iterator... and more!

Traits

ASimpleTrait

Define a simple trait so we can see how it works.

Functions

demonstrate_for

Demonstrate using a for loop over an (infinite!) iterator.