DeveloperBreeze

Rust Borrowing Development Tutorials, Guides & Insights

Unlock 2+ expert-curated rust borrowing tutorials, real-world code snippets, and modern dev strategies. From fundamentals to advanced topics, boost your rust borrowing skills on DeveloperBreeze.

Rust Cheatsheet

Cheatsheet August 29, 2024
rust

let user1 = User {
    username: String::from("someusername"),
    email: String::from("someone@example.com"),
    sign_in_count: 1,
    active: true,
};
let user2 = User {
    email: String::from("another@example.com"),
    ..user1
};

Advanced Memory Management in Rust: Understanding Ownership, Borrowing, and Lifetimes

Tutorial August 27, 2024
rust

  • Ownership and Functions: Passing and returning ownership to manage resource lifecycles.
  • Smart Pointers: Using types like Box, Rc, and RefCell to manage ownership and borrowing with more flexibility.
  • Interior Mutability: Allowing mutation through immutable references using patterns like RefCell.
use std::cell::RefCell;
use std::rc::Rc;

#[derive(Debug)]
struct Node {
    value: i32,
    next: Option<Rc<RefCell<Node>>>,
}

fn main() {
    let first = Rc::new(RefCell::new(Node { value: 1, next: None }));
    let second = Rc::new(RefCell::new(Node { value: 2, next: None }));

    first.borrow_mut().next = Some(Rc::clone(&second));
    second.borrow_mut().next = Some(Rc::clone(&first)); // Creates a cycle, but managed by Rc and RefCell

    println!("First node: {:?}", first);
}