13-01-Safe vs Unsafe Rust
Preview unavailable
You must log in or sign up to view this lesson.
Login
Sign up
Rust Programming Masterclass
Buy now
Learn more
Course Introduction
0-Course Introduction
RustProgrammingMasterclass.pdf
RustProgrammingMasterclassLabs.pdf
Demos.zip
Labs.zip
1: Introduction to Rust
1-01-What is Rust
1-02-Installing and Updating
1-03-Links and Docs
1-04-Rust Basics
1-05-Cargo
1-06-Clippy
1-07-Rust IDE
1-08-Testing
1-09-Labs
2: Language Fundamentals
2-01-Variables
2-02-Const and Static
2-03-Data Types
2-04-Literals
2-05-Tuples
2-06-Arrays
2-07-Operators
2-08-Functions
2-09-Control Flow
2-10-iterating with for
2-11-Scope
2-12-Attributes
2-13-Packages
2-14-More on Scope
2-15-Lab Solutions Walkthrough
3: Ownership
3-01-Copy vs Move
3-02-Ownership and Borrowing
3-03-Stack vs Heap
3-04-The Copy Trait
3-05-Ownership and Functions
3-06-References
3-07-Slices
3-08-Labs Overview
3-09-Labs Solutions Walkthrough
4: Compound Types
4-01-Structs
4-02-Displaying Structs
4-03-Methods
4-04-Structs Quick Review
4-05-Associated Functions
4-06-Enumerations
4-07-Option
4-08-Result
4-09-Pattern Matching
4-10-File IO
4-11-Labs Overview
4-12-Labs Solutions Walkthrough
Common Types
5-01-Vectors
5-02-Command Line Arguments
5-03-Strings
5-04-Hash Maps
5-05-Other Collections
5-06-Labs Solutions Walkthrough
6: Managing Projects
6-02-Packages and Crates
6-01-Module System
6-03-Modules
6-04-Visibility
6-05-Scope and the use Keyword
6-06-Exporting Names
6-07-More on Cargo
6-08-Lab Solution Walkthrough
7: Error Handling
7-01-Error Handling Basics
7-02-Panicking
7-03-The Result Type
7-04-Propagating Errors
7-05-Summary
8: Generic and Traits
8-01-Generic Functions
8-02-Generic Structs and Enums
8-03-Generic Methods
8-04-Method Specialization
8-05-How Generics Work
8-06-Traits
8-07-Generic Traits
8-08-Associated Types
8-09-Common Traits
8-10-The Orphan Rule
8-11-Labs Solutions Walkthrough
8-12-Trait Constraints
8-13-Returning Traits
8-14-More on Traits
8-15-Polymorphism
8-16-Implementing Traits on Non-Local Types
9: Smart Pointers
9-01-Box
9-02-The Deref Trait
9-03-The Drop Trait
9-04-Reference Counting
9-05-Inner Mutability
9-06-Lab Solution Walkthrough
10: Functional Programming
10-01-Functional Programming Style
10-02-Anonymous Functions
10-03-Function Traits
10-04-Structs with Anonymous Functions
10-05-Closures
10-06-Moving Ownership
10-07-Iterators
10-08-Iterator Adapters
10-09-More on Iterators
11: Concurrency
11-01-Multithreading Basics
11-02-Threads
11-03-Threads and Ownership
11-04-The rayon Crate
11-05-Thread Communication
11-06-Message Passing with crossbeam
11-07-Atomic Operations
11-08-Mutex
11-09-Other Sync Primitives
11-10-Labs Solutions Walkthrough
12: Async and Await
12-01-Sync vs Async
12-02-Tcp Echo Example
12-03-Async Functions
12-04-Working with tokio
12-05-Async IO
13: Unsafe Rust
13-01-Safe vs Unsafe Rust
13-02-Raw Pointers
13-03-C-Rust Interoperability
13-04-Windows System programming
13-05-Using the Native API
13-06-Summary and More Information
14: Advanced Topics
14-01-Macros
14-02-Declarative Macros
14-03-Procedural Macros
14-04-Lifetimes