Previous Episode: e007: Testify

Notes

In this episode we cover—at a very high level—two more fundamental concepts in Rust programming: generics and traits.


Generics gives us the abilitty to write types and functions which can be used with more than one type. Traits give us the ability to specify behavior which can be implemented for more than one type. The combination gives us powerful tools for higher-level programming constructs in Rust.


Comments on source code

Now that we have a handle on how tests work, we’ll use them to validate the behavior of our code going forward. This is great: we can show that the tests do what we think.


To today’s point, though: we actually know even apart from whether the tests run successfully that these generic functions and the associated traits are behaving as we want. Failure with generics is a compile-time error, not a runtime error.


Links

Rust Book

Generics
Traits – includes a discussion of trait bounds and generic traits*

Rust by Example

Generics
Traits
Generic traits
Traits bounds

Generics and traits in use in Diesel

Sponsors

Chris Palmer
Derek Morr
Luca Schmid
Micael Bergeron
Ralph Giles (“rillian”)
reddraggone9
William Roe

Become a sponsor

Patreon
Venmo
Dwolla
Cash.me

Follow

New Rustacean:

Twitter: @newrustacean
App.net: @newrustacean
Email: [email protected]

Chris Krycho

Twitter: @chriskrycho
App.net: @chriskrycho

Twitter Mentions