Learn
Projects
Pricing
Log In
Join For Free
Learn
Rust
Rust Practice Plus
Course in
Rust Skill Tree
Rust Practice Plus
Beginner
Rust
Previous Course
Next Course
Intro
Syllabus
232 Labs
Defining Modules to Control Scope and Privacy
Start
Refutability: Whether a Pattern Might Fail to Match
Start
Macro_rules!
Start
Playground
Start
Dead_code
Start
Custom
Start
Lifetimes
Start
Domain Specific Languages
Start
Variadic Interfaces
Start
Use
Start
Declare First
Start
Expressions
Start
Mutability
Start
Freezing
Start
Returning From Loops
Start
An Example Program Using Structs
Start
Controlling How Tests Are Run
Start
Elision
Start
Variable Bindings
Start
Nesting and Labels
Start
While
Start
Constants
Start
Concise Control Flow With if Let
Start
Creating a Library
Start
Loop
Start
Repeat
Start
Literals
Start
Mutability
Start
Overload
Start
Pointers/Ref
Start
Unrecoverable Errors With Panic
Start
Abort and Unwind
Start
Crates
Start
Cfg
Start
Cargo Workspaces
Start
Structs
Start
Traits
Start
Scope and Shadowing
Start
Tuples
Start
Reading a File
Start
Debug
Start
Structs
Start
What Is Ownership?
Start
The Slice Type
Start
Wait
Start
Validating References With Lifetimes
Start
C-Like
Start
Explicit Annotation
Start
Coercion
Start
Primitives
Start
Bounds
Start
Type Anonymity
Start
Multiple Bounds
Start
Shared-State Concurrency
Start
Defining and Instantiating Structs
Start
Documentation Testing
Start
Development Dependencies
Start
Publishing a Crate to Crates.io
Start
Mutability
Start
Display
Start
As Output Parameters
Start
Arrays/Slices
Start
Threads
Start
Enums
Start
Comments
Start
For Loops
Start
The Ref Pattern
Start
Higher Order Functions
Start
Aliases for Result
Start
Early Returns
Start
References and Borrowing
Start
Visibility
Start
Panic
Start
Multiple Error Types
Start
Bringing Paths Into Scope With the Use Keyword
Start
Aliasing
Start
Closures
Start
Option & Unwrap
Start
Child Processes
Start
Aliasing
Start
Using Threads to Run Code Simultaneously
Start
Supertraits
Start
Combinators: And_then
Start
Input Functions
Start
Result
Start
The Use Declaration
Start
Accepting Command Line Arguments
Start
Writing Error Messages to Standard Error Instead of Standard Output
Start
Rc
Start
Program Arguments
Start
Pattern Syntax
Start
Structures
Start
New Type Idiom
Start
Packages and Crates
Start
Documentation
Start
Storing Keys With Associated Values in Hash Maps
Start
The Match Control Flow Construct
Start
Using Box<T> to Point to Data on the Heap
Start
Rc<T>, the Reference Counted Smart Pointer
Start
Advanced Functions and Closures
Start
Clone
Start
Separating Modules Into Different Files
Start
File Hierarchy
Start
Tuples
Start
Using a Library
Start
Functions
Start
Unsafe Operations
Start
Treating Smart Pointers Like Regular References With Deref
Start
DRY
Start
Method Syntax
Start
Designators
Start
Binding
Start
Alternate/Custom Key Types
Start
To and From Strings
Start
Match
Start
Super and Self
Start
Testing
Start
Box, Stack and Heap
Start
Literals and Operators
Start
Iterating Over Results
Start
Formatted Print
Start
Storing Lists of Values With Vectors
Start
Introducing ?
Start
Test-Driven Development
Start
Read_lines
Start
Map for Result
Start
Building a Single-Threaded Web Server
Start
Borrowing
Start
Let-Else
Start
Traits
Start
Inference
Start
Using Message Passing to Transfer Data Between Threads
Start
Paths for Referring to an Item in the Module Tree
Start
Arc
Start
Storing UTF-8 Encoded Text With Strings
Start
Test Organization
Start
Functions
Start
Filesystem Operations
Start
While Let
Start
Pulling Results Out of Options
Start
HashSet
Start
Argument Parsing
Start
Functions
Start
If/Else
Start
Generics
Start
Raw Identifiers
Start
Phantom Type Parameters
Start
Methods
Start
Recoverable Errors With Result
Start
Path
Start
To Panic or Not to Panic
Start
How to Write Tests
Start
Traits
Start
Drop
Start
?
Start
Diverging Functions
Start
Struct Visibility
Start
Running Code on Cleanup With the Drop Trait
Start
Reference Cycles Can Leak Memory
Start
Testcase: List
Start
TryFrom and TryInto
Start
Iterator::any
Start
Bounds
Start
Testcase: Empty Bounds
Start
Impl Trait
Start
Searching Through Iterators
Start
Operator Overloading
Start
Implementing an Object-Oriented Design Pattern
Start
Foreign Function Interface
Start
Integration Testing
Start
Combinators: Map
Start
Boxing Errors
Start
From and Into
Start
Vectors
Start
Capturing
Start
Formatting
Start
Result
Start
Ownership and Moves
Start
Option
Start
Open
Start
Create
Start
Pipes
Start
Panic!
Start
Testcase: Unit Clarification
Start
Closures: Anonymous Functions That Capture Their Environment
Start
Arrays and Slices
Start
Unpacking Options and Defaults
Start
Disambiguating Overlapping Traits
Start
Testcase: Map-Reduce
Start
The Problem
Start
Working With Environment Variables
Start
Returning Traits With Dyn
Start
If Let
Start
Partial Moves
Start
Unit Testing
Start
Guards
Start
Using Trait Objects That Allow for Values of Different Types
Start
Derive
Start
Processing a Series of Items With Iterators
Start
Defining an Enum
Start
Defining an Error Type
Start
All the Places Patterns Can Be Used
Start
Associated Types
Start
Implementation
Start
Casting
Start
Associated Functions & Methods
Start
Raii
Start
Characteristics of Object-Oriented Languages
Start
Static
Start
Refactoring to Improve Modularity and Error Handling
Start
Iterators
Start
Advanced Traits
Start
Other Uses of ?
Start
Wrapping Errors
Start
Strings
Start
As Input Parameters
Start
Improving Our I/O Project
Start
Unsafe Rust
Start
Traits: Defining Shared Behavior
Start
HashMap
Start
Where Clauses
Start
Unpacking Options With ?
Start
Removing Duplication by Extracting a Function
Start
Advanced Types
Start
Enums
Start
Testcase: Linked-List
Start
Channels
Start
Inline Assembly
Start
Turning Our Single-Threaded Server Into a Multithreaded Server
Start
Macros
Start
Graceful Shutdown and Cleanup
Start
RefCell<T> and the Interior Mutability Pattern
Start
Teacher
Labby
Labby is the LabEx teacher.
Discussions
232 Labs
Start Learning
Recommended For You