English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 155 lectures (23h 18m) | 9.63 GB
Learn Rust(Latest Edition) programming step by step with hands-on exercises, from basics to advanced levels.
Rust is becoming increasingly popular in system-level programming due to its memory safety and performance. It stands as a strong competitor to C++ and is perfect for those looking to elevate their system-level programming skills. Whether you are a beginner or an experienced programmer, Rust offers a modern and powerful toolset for your development needs.
Learning Rust opens doors to high-performance, safe, and reliable system-level programming
What you’ll learn
- Fundamental concepts of Rust programming language
- Ownership and borrowing rules
- References
- String and String slice
- Rust’s package manager and build system (Cargo)
- Structures and Enums
- Unit testing in Rust
- Lifetimes
- Error Handling
- Pattern matching
- Loops and decison making
- More is yet to come ( Generics, traits, trait objects, smart pointers, closures, iterators and more)
Table of Contents
Introduction
1 Introduction
2 How Rust is different from other programming languages Immutability
3 Course repository
4 Borrowing
5 Rust automatically deallocates heap memory
6 Features related to type inferenceownershiperror handlingand dangling pointer
7 Create Build Run a Rust program
Prints
8 Print related macros in Rust
9 format and named place holders
10 Exercisediy1
11 Useful cargo tools
12 Printing in hex and binary formats
13 Exercisediy2
14 Exercisediy3
15 r and r tagging of strings
Variables and Data types
16 Variables mutability and data types explanation
17 as keyword and storing ASCII values
18 char data type
19 Exercisediy4
20 Array and array iteration
21 Exercisediy5
22 Arithmetic operators and short hand notations
23 Writing a Function in Rust
Testing
24 Unit testing
25 Writing test cases
26 Standard library assert macros
27 Writing test cases contd
28 Can you help us
References
29 References
30 Borrow Borrower and Referent
31 slice data type
32 Std library functions of the slice data type
Decision making
33 Using ifelse as statements and expressions
34 The match statement
35 Using ifelse ifelse and if letelse if letelse
36 comparision and logical operators
37 Bitwise operators
38 Exercisediy6
39 Exercisediy62
Strings
40 Strings in Rust
41 Strings and UTF8 format
42 Slice of a String
43 Converting String to Slice and vice versa
44 String concatination
45 String Indexing
46 Exercisediy7Part1
47 Exercisediy7Part2
48 Exercisediy7Part3
Ownership
49 Ownership Move and Copy semantics
50 Call by value and Call by reference
Loops
51 Loop statements in Rust
52 Different ways of Iteration using forin loop
53 Solution
54 while and while let loops
55 Exercisediy8
Tuples
56 Tuple datatype
57 Pattern matching with tuples
58 Tuple matching and Move
59 ref keyword
60 Exercisediy9
61 Exercisediy10
Structure
62 Creating and Initializing a struct
63 Is struct move or copy
64 Struct and Default trait
65 Tuple struct and Unit struct
66 Writing Struct methods
67 Associated function as Constructor of a Struct
68 Pattern matching with Struct
69 ref and usage in pattern matching with Struct
Enums
70 Defining an Enum in Rust
71 Methods and associated functions of an Enum
72 Pattern matching using Enums
73 OptionT type
74 OptionT Usage
Vectors
75 Introduction to Vectors
76 Vectors under the hood
77 Vector indexing
78 Slice of a vector
79 Vector methods push pop shrinktofit
80 Exercisediy11
81 Vector methods drain extractif
82 Vector methods retain retainmut
83 Vector methods split and friends
84 Vector methods splice append extend
85 Vector methods prepend using index and splice
86 VecDeque
HashMap
87 HashMap and its methods part1
88 HashMap and its methods part2
Error Handling
89 Enum ResultT E
90 Error handling using ResultT E enum
91 Exercise on ResultT E
92 Error propagation operator
93 Converting OptionT to ResultT E type
94 unwrap and expect methods
95 unwraperr
96 Std Library error types
97 Handling stdioError
98 Numeric Errors Exercise
99 Numeric Errors Exercise contd
100 Exercise on error conversion
101 Exercise on error conversion contd
102 maperr usage
103 Auto conversion of errors
104 Exercisediy12
105 Can you help us
Generics
106 Generics syntax and Writing generic functions
107 Function with multiple generic type parameters
108 Generic structs and Enums
109 Exercisediy13
Lifetimes
110 Lifetime and scope
111 Lifetime annotations example
112 Lifetime elision rules
113 Lifetime annotations with structs
114 Lifetime annotations with structs contd
115 Lifetime annotations with struct methods
Const and Static
116 Const and Static variables
Traits
117 Introduction to Trait and Trait methods
118 Associated types of a Trait
119 Exercise Implementing Display trait for user defined structure part1
120 Exercise Implementing Display trait for user defined structure part2
121 Exercise Implementing Display trait for user defined structure part3
122 Trait bounds
123 Trait objects and Virtual table
124 Boxing the DST
125 Memory layout of Boxdyn Trait
Closures
126 Introduction to Closures and Syntax
127 Closure capturing environment
128 Traits associated with closures
129 Behaviour of closure variables
130 Passing closure as arguments to a function part1
131 Passing closure as arguments to a function part2
132 Closures as Struct member fieldsUsing Trait Object
133 Memory layout of the program
134 Types of Closures
135 Exercise on Closure
136 Closures as Struct member fieldsUsing Generics
137 Closures and event handling
Iterators
138 Introduction to Iterators
139 About Trait Iterator
140 Creating a custom iterator
141 Iterating over custom iterator by value mutable and immutable borrow
142 Creating a custom iterator Refactoring next method
143 Trait Iterator Vs Trait IntoIterator
144 Exercise Implementing a custom iterator
145 Solution Implementing a custom iterator
146 Implementing Trait IntoIterator for a custom type Part1
147 Implementing Trait IntoIterator for a custom type Part2
148 Implementing Trait IntoIterator for a custom type Part3
149 Implementing Trait IntoIterator for a custom type Part4Solution
150 Iterator Methods
151 foreach as an alternate to for loop
152 iter itermut and intoiter explanation
153 Commonly used iterator adapters
154 map method explanation with examples
155 collect
Resolve the captcha to access the links!