Item 1: Use the type system to express
your data structuresFundamental TypesAggregate Typesenumsenums with FieldsUbiquitous enum TypesItem 2: Use the type system to express common behaviorFunctions and MethodsFunction PointersClosuresTraitsItem 3: Prefer Option and Result transforms
over explicit match expressionsThings to RememberItem 4: Prefer idiomatic Error typesThe Error TraitMinimal ErrorsNested ErrorsTrait ObjectsLibraries Versus ApplicationsThings to RememberItem 5: Understand type conversionsUser-Defined Type ConversionsCastsCoercionItem 6: Embrace the newtype patternBypassing the Orphan Rule for TraitsNewtype LimitationsItem 7: Use builders for complex typesItem 8: Familiarize yourself with reference
and pointer typesRust ReferencesPointer TraitsFat Pointer TypesMore Pointer TraitsSmart Pointer TypesItem 9: Consider using iterator transforms
instead of explicit loopsIterator TraitsIterator TransformsIterator ConsumersBuilding Collections from Result ValuesLoop TransformationWhen Explicit Is Better