-
Section 3: Variables and Data types
8 Lessons -
Section 12: Structure
8 Lessons-
PreviewCreating and Initializing a struct
-
PreviewIs struct 'move' or 'copy'?
-
StartStruct and Default trait
-
StartTuple struct and Unit struct
-
StartWriting Struct methods
-
StartAssociated function as Constructor of a Struct
-
StartPattern matching with Struct
-
Startref and @ usage with struct pattern matching
-
-
Section 14: Vectors
12 Lessons-
StartIntroduction to Vectors
-
PreviewVectors under the hood
-
StartVector indexing
-
StartSlice of a vector
-
StartVector methods: push(), pop(), shrink_to_fit()
-
StartExercise-diy-11
-
StartVector methods: drain(), extract_if()
-
StartVector methods: retain(), retain_mut()
-
StartVector methods: split() and friends
-
StartVector methods: splice(), append(), extend()
-
StartVector methods: prepend using index() and splice()
-
StartVecDeque
-
-
Section 15: Error Handling
15 Lessons-
PreviewEnum Result
-
PreviewError handling using Result enum
-
StartExercise on Result enum
-
StartError propagation operator ( ? )
-
StartConverting 'Option' to 'Result' type
-
Startunwrap() and expect() methods
-
Startunwrap_err()
-
StartStd. Library error types
-
StartHandling std::io::Error
-
StartNumeric Errors : Exercise
-
StartNumeric Errors : Exercise contd
-
StartExercise on error conversion
-
StartExercise on error conversion contd.
-
Startmap_err() usage
-
StartAuto conversion of errors
-
-
Section 20: Traits
9 Lessons-
StartIntroduction to Trait and Trait methods
-
StartAssociated types of a Trait
-
StartExercise: Implementing Display trait for user defined structure part-1
-
StartExercise: Implementing Display trait for user defined structure part-2
-
StartExercise: Implementing Display trait for user defined structure part-3
-
StartTrait bounds
-
StartTrait objects and Virtual table
-
StartBoxing the DST
-
StartMemory layout of Boxing of Trait Object
-
-
Section 21: Closures
12 Lessons-
StartIntroduction to Closures and Syntax
-
StartClosure capturing environment
-
StartTraits associated with closures
-
StartBehaviour of closure variables
-
StartPassing closure as arguments to a function part-1
-
StartPassing closure as arguments to a function part-2
-
StartClosures as Struct member fields
-
StartMemory layout of the program
-
StartTypes of Closures
-
StartExercise on Closure
-
StartClosures as Struct member fields[Using Generics]
-
StartClosures and event handling
-
-
Section 22: Iterators
21 Lessons-
StartIntroduction to Iterators
-
StartTrait 'Iterator' Vs Trait 'IntoIterator'
-
StartCreating an custom iterator
-
StartIterating over custom iterator by value, mutable and immutable borrow
-
StartCreating an custom iterator: Refactoring next method
-
StartTrait 'Iterator' Vs Trait 'IntoIterator'
-
StartExercise: Implementing a custom iterator
-
StartSolution: Implementing a custom iterator
-
StartImplementing Trait 'IntoIterator' for a custom type Part-1
-
StartImplementing Trait 'IntoIterator' for a custom type Part-2
-
StartImplementing Trait 'IntoIterator' for a custom type Part-3
-
StartImplementing Trait 'IntoIterator' for a custom type Part-4-Solution
-
PreviewIterator Methods
-
Startfor_each() as an alternate to for loop
-
Startiter(), iter_mut() and into_iter() explanation
-
StartCommonly used iterator adapters
-
Startmap()
-
Startcollect()
-
StartUsing collect() with custom collection
-
StartImplementing Trait 'FromIterator' on a type
-
Startfilter()
-
-
Section 23: Structuring Code in Rust
10 Lessons-
Startpackage, crate, cargo.toml , cargo.lock
-
Start[package] section of cargo.toml, Semantic Versioning
-
StartPackage structuring rules
-
Start[dependencies] section of cargo.toml
-
StartRust editions
-
StartModules
-
StartPrivacy rules summary
-
StartStruct encapsulation
-
StartOrganizing modules into separate files
-
StartRe-exporting
-
-
Section 24: Raw and Smart pointers
10 Lessons-
StartRaw Pointers (*mut T and *const T)
-
StartSmart Pointer Box T
-
StartBox of String
-
StartUsing Dynamically Sized Type(DST)
-
StartBox of Slice [T]
-
StartBox of Trait object (dyn Trait)
-
StartStoring heterogeneous data in a Vector using Trait object
-
StartConverting Box of T in to raw pointers and vice versa
-
StartBorrow of Box T
-
StartEnabling recursive types using Box T
-

Reviews
5
Top Rated
Mukesh Reddy Palla
Great
As always great explanations
Amrutha Acharya
Rust
excellent course
Rate this course