No More Nulls


Subject: Enumerated (enum) types, pattern matching, and meaningful return types.


Notes

Today’s episode discusses, in order:

Enumerated types, with an eye to the difference between structs and enums, and to the differences between enums in C and in Rust.
Pattern matching, with a focus on using them with enumerated types and some discussion about how they differ from switch blocks in C-like languages.
Using the Option and Result enumerated types with pattern matching to provide meaningful returns from functions safely.

Order

There is a specific order to the examples below, and it is not the automatically-alphabetized order rendered by rustdoc. Instead, you should work through in the sequence they appear in the source:

RelatedishThings
demonstrate_basic_enumeration
demonstrate_match
get_an_option
demonstrate_option
get_a_result
demonstrate_result

Links

New Rustacean Pull Request #1
Work on IDE support!

Landing page
My chosen tool: JetBrains/IntelliJ

Rustlings
Rust FFI Omnibus

Follow/Support

New Rustacean:

Twitter: @newrustacean
App.net: @newrustacean
Patreon
Email:
<!--
h='&#110;&#x65;&#x77;&#114;&#x75;&#x73;&#116;&#x61;&#x63;&#x65;&#x61;&#110;&#46;&#x63;&#x6f;&#x6d;';a='&#64;';n='&#104;&#x65;&#108;&#108;&#x6f;';e=n+a+h;
document.write('<a h'+'ref'+'="ma'+'ilto'+':'+e+'" clas'+'s="em' + 'ail">'+e+'<\/'+'a'+'>');
// -->
hello at newrustacean dot com

Chris Krycho

Twitter: @chriskrycho
App.net: @chriskrycho

Twitter Mentions