Master Rust programming with 30 daily coding challenges. Learn ownership, borrowing, lifetimes, and Solana program primitives through hands-on practice.
Your first Rust program! Learn about variables, basic types, and how to print output. Create a greeting message using let bindings.
Explore Rust's primitive types: integers, floats, booleans, and tuples. Calculate the sum and product of two numbers.
Master Rust functions: parameters, return types, and the difference between expressions and statements. Implement a temperature converter.
Learn control flow with if/else, match expressions, and loops. Implement FizzBuzz for a single number.
Understand Rust's ownership system: move semantics, scope, and when values are dropped. Fix a program with ownership errors.
Learn to borrow values with references (&T and &mut T). Modify a value through a mutable reference.
Work with slices: views into contiguous sequences. Extract the first word from a string.
Define and use structs to create custom data types. Build a simple User struct with fields.
Master enums and the Option type. Implement safe division that handles division by zero.
Add behavior to structs with impl blocks. Create a Rectangle with area and perimeter methods.
Handle errors gracefully with Result<T, E>. Parse a string to a number with proper error handling.
Work with Vec<T>, Rust's growable array. Calculate the sum and find the maximum of a vector.
Understand String vs &str and string manipulation. Reverse the words in a sentence.
Use HashMaps to store key-value pairs. Count the frequency of characters in a string.
Write flexible code with generics. Implement a generic function to find the largest element.
Define shared behavior with traits. Create a Describable trait and implement it for multiple types.
Use trait objects for runtime polymorphism. Store different types in a single collection.
Understand lifetime annotations. Return the longer of two string slices safely.
Master iterator adapters. Transform and filter collections functionally.
Use closures to capture environment. Implement a counter factory.
Organize code with modules. Understand pub, mod, and use keywords.
Explore smart pointers: Box for heap allocation, Rc for shared ownership.
Use derive macros to auto-implement common traits. Essential for Solana development!
Use attributes for conditional compilation and memory layout control.
Manually serialize and deserialize data to bytes. Foundation for Borsh!
Build a Pubkey-like struct and work with byte arrays - essential for Solana!
Implement type conversions with From/Into traits. Used heavily in Solana programs!
Create custom error enums with numeric codes - the Solana program error pattern!
Implement Solana-style account validation patterns with discriminators.
Build a complete Solana-style state machine combining all concepts learned!