Beyond Basic Rust: Exploring Power Features Of Rust

Posted By: ELK1nG

Beyond Basic Rust: Exploring Power Features Of Rust
Published 7/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.09 GB | Duration: 4h 53m

Diving deep into rust with error handling, coercion, lifetimes relationships, downcasting, traits limitations, dropcheck

What you'll learn

Rust Developers with Foundational Knowledge

Graduates of the “Rust Programming: Beginner to Expert” Course

Tech Professionals Preparing for Rust-Based Job Roles

Rust Enthusiast

Requirements

Basic Knowledge of Rust Programming

Description

This advanced Rust programming course is designed as a natural progression for those who have completed our foundational Rust course titled or are already comfortable with beginner and intermediate concepts. In this next phase, we dive deeper into the powerful and nuanced features of the Rust language that are essential for writing robust, scalable, and idiomatic Rust applications.We begin by strengthening error handling techniques, introducing you to advanced constructs like layered outcomes, custom error types using anyhow and thiserror, and exploring subtle nuances in error propagation and chaining. From there, we go beyond basic references to uncover the intricacies of reference types in method chaining, pattern matching, and compound structures.A major focus of the course is on type coercion, a concept often overlooked but critical for working with traits, generics, and unsized types. You will learn how coercion enables elegant abstractions and reuse in Rust’s type system.Our exploration of lifetimes continues with an in-depth look at subtyping, variance, and the relationships that govern safe borrowing in complex systems. You will also engage with combinators, common standard traits, and their real-world applications.The course then ventures into Rust’s trait system limitations, exploring object safety, associated types, and orphan rules—concepts crucial for building extensible libraries and safe abstractions. We also covert downcasting which is a powerful but lesser-known capability in Rust that allows converting trait objects back into their original concrete types. In particular, we demystify the mechanics of downcasting and show how it can be used to recover type-specific behavior after abstraction. You'll learn how to safely attempt conversions using Any, handle type mismatches gracefully, and structure your code to maintain type safety without sacrificing flexibility. In the final section of the course, we deep dive and explore topics in dropping variables. We learn how Rust performs drop checking to prevent use-after-free bugs and other memory safety issues. You’ll gain insight into how partial moves, drop order, and how temporary value destruction are handled under the hood.Whether you're building high-performance systems or contributing to advanced libraries, this course equips you with the skills to write expressive and maintainable Rust code at an expert level

Overview

Section 1: Introduction

Lecture 1 Introduction

Lecture 2 Who Should Take This Course

Lecture 3 Code Files Used in the Course

Section 2: Error Handling

Lecture 4 Rust Error Handling Approaches

Lecture 5 Propagating Errors

Lecture 6 Multiple Error Types

Lecture 7 Chaining Question Mark

Lecture 8 Layered Outcomes Wrapping Results and Options in Rust (Part 1)

Lecture 9 Layered Outcomes Wrapping Results and Options in Rust (Part 2)

Lecture 10 Anyhow

Lecture 11 Thiserror

Section 3: Beyond Basic Reference

Lecture 12 Casting of References

Lecture 13 Destructing References

Lecture 14 Forcing Variables to use References

Lecture 15 Referenceing in Compound Data Types

Lecture 16 Pattern Matching Contexts

Lecture 17 Destructured Struct Parameters

Lecture 18 References Constraints in Method Chaining

Section 4: Coercion

Lecture 19 Coercion Basics (Deref Coercion)

Lecture 20 Coercion Sites

Lecture 21 Reference Coercion

Lecture 22 Function Item Coercion

Lecture 23 Trait Objects Coercion

Lecture 24 Unsized Coercion

Lecture 25 Coercion in Generics

Lecture 26 Transitivity in Coercion

Lecture 27 Least Upper Bound Coercion

Section 5: Relationships in Lifetimes

Lecture 28 Reference Recap (Part 1)

Lecture 29 Reference Recap (Part 2)

Lecture 30 Relating Lifetimes (Explicit Bounds)

Lecture 31 Relating Lifetimes (Implied Bounds)

Lecture 32 Relating Lifetimes (Subtyping and Variance)

Lecture 33 Relating Lifetimes (Contravariance)

Lecture 34 Relating Lifetimes (Invariance (Part 1))

Lecture 35 Relating Lifetimes (Invariance (Part 2))

Section 6: Traits Limitations, Object Safety and Orphan Rule

Lecture 36 Orphan Rule

Lecture 37 Trait Objects Limitations (Multiple Traits)

Lecture 38 Trait Objects Limitations (Associated Types)

Lecture 39 Trait Objects Limitations (Methods with Generics)

Lecture 40 Function with No Self Parameter

Lecture 41 Size and Trait Objects

Lecture 42 Partial Object Safety

Lecture 43 Operator Overloading flinalized

Lecture 44 Sealed Trait

Section 7: Downcasting Trait Objects to Concrete Types

Lecture 45 Downcasting Trait Objects

Lecture 46 Downcasting Example

Lecture 47 Conversion between Trait Objects

Lecture 48 Checking Type without Downcasting

Section 8: Drop Check

Lecture 49 Dropcheck

Lecture 50 Drop and Partial Move

Lecture 51 Drop Order (Part 1)

Lecture 52 Drop Order (Part 2)

Lecture 53 Drop Order and Self Referencial Types

Lecture 54 Avoiding Drop

Lecture 55 Panic Safety

Rust developers who want to deepen their understanding of features such as custom error handling, type coercion, lifetimes relationships, trait system intricacies, and drop semantics.