Recurse

One lesson a day

0 day streak

0 XP in total

Rust

1. Basics

Write small programs with variables, numbers, functions, and loops.

0 of 5 units done

Variables and mutability

5 skills · 0 of 4 lessons

Guide: Variables and mutability

Numbers, booleans and characters

5 skills · 0 of 4 lessons

Guide: Numbers, booleans and characters

Tuples and arrays

4 skills · 0 of 4 lessons

Guide: Tuples and arrays

Functions

5 skills · 0 of 4 lessons

Guide: Functions

Control flow

5 skills · 0 of 4 lessons

Guide: Control flow

2. Ownership

Know who owns each value, and when to move, copy, or borrow.

0 of 3 units done

Jump here

Moves and copies

9 skills · 0 of 4 lessons

Guide: Moves and copies

Borrowing

5 skills · 0 of 4 lessons

Guide: Borrowing

Slices and strings

5 skills · 0 of 4 lessons

Guide: Slices and strings

3. Structs and enums

Model your own data and handle every case with match.

0 of 4 units done

Jump here

Structs

5 skills · 0 of 4 lessons

Guide: Structs

Methods

5 skills · 0 of 4 lessons

Guide: Methods

Enums and Option

5 skills · 0 of 4 lessons

Guide: Enums and Option

Match

5 skills · 0 of 4 lessons

Guide: Match

4. Traits and generics

Share behavior across types and write code that works for many.

0 of 4 units done

Jump here

Traits

4 skills · 0 of 4 lessons

Guide: Traits

Generics

4 skills · 0 of 4 lessons

Guide: Generics

Trait bounds

5 skills · 0 of 4 lessons

Guide: Trait bounds

Common traits

5 skills · 0 of 4 lessons

Guide: Common traits

5. Error handling

Return errors with Result, pass them up with ?, and make your own.

0 of 4 units done

Jump here

Panics

4 skills · 0 of 4 lessons

Guide: Panics

Result

4 skills · 0 of 4 lessons

Guide: Result

The ? operator

4 skills · 0 of 4 lessons

Guide: The ? operator

Custom errors

4 skills · 0 of 4 lessons

Guide: Custom errors

6. Lifetimes

Read and write lifetime annotations, and fix borrow errors.

0 of 3 units done

Jump here

Dangling references

3 skills · 0 of 4 lessons

Guide: Dangling references

Lifetime annotations

4 skills · 0 of 4 lessons

Guide: Lifetime annotations

Elision and 'static

4 skills · 0 of 4 lessons

Guide: Elision and 'static

7. Smart pointers

Use Box, Rc, and RefCell, and know when each one fits.

0 of 4 units done

Jump here

Box

4 skills · 0 of 4 lessons

Guide: Box

Rc

4 skills · 0 of 4 lessons

Guide: Rc

RefCell

4 skills · 0 of 4 lessons

Guide: RefCell

Drop and Deref

4 skills · 0 of 4 lessons

Guide: Drop and Deref

8. Concurrency

Run work on threads and share data safely between them.

0 of 4 units done

Jump here

Threads

4 skills · 0 of 4 lessons

Guide: Threads

Channels

4 skills · 0 of 4 lessons

Guide: Channels

Shared state

4 skills · 0 of 4 lessons

Guide: Shared state

Send and Sync

4 skills · 0 of 4 lessons

Guide: Send and Sync

9. Iterators and closures

Chain iterator adapters and pass closures to them.

0 of 4 units done

Jump here

Closures

4 skills · 0 of 4 lessons

Guide: Closures

Iterators

4 skills · 0 of 4 lessons

Guide: Iterators

Map, filter and collect

5 skills · 0 of 4 lessons

Guide: Map, filter and collect

More iterator tools

4 skills · 0 of 4 lessons

Guide: More iterator tools

Preview build: draft exercises are included.