Use Arc Instead of Vec
Rust lets you do efficient reference-counted strings and dynamic arrays using Arc basically just as easily as their owning (and deep-cloning) equivalents, String and Vec respectively. So why not use them as a reasonable default, until you actually need the mutability that String and Vec provide? Get into the weeds with me here, feat. some cool visualizations, with special guest appearance from Box. This video assumes some familiarity with Rust and its core smart pointer types, namely Vec/String/Rc/Arc/Box, along with data structures like HashMap and BTreeMap, and traits like Clone, Hash, Ord, and serde::{Serialize, Deserialize}. serde feature flag for Rc/Arc: https://serde.rs/feature-flags.html#-... Arc docs: https://doc.rust-lang.org/std/sync/st... Vec docs: https://doc.rust-lang.org/std/vec/str... Smart pointers in Rust: • Crust of Rust: Smart Pointers and Interior... animations: https://www.manim.community/

Two Ways To Do Dynamic Dispatch

Choose the Right Option

Arc instead of Vec? | Prime Reacts

Comprehending Proc Macros

Rust's Alien Data Types 👽 Box, Rc, Arc

Why I'm so bullish about Rust in 2026

A Simpler Way to See Results

Rust Functions Are Weird (But Be Glad)

14 Rust Smart Pointers Compared

Rust is not a faster horse

The Dark Side of .reserve()

Think Twice Before Using Async Rust | Prime Reacts

You Should Really Know These Traits in Rust

5 Strong Opinions On Everyday Rust

"You can't do object-oriented programming in C"

Rust's second most complicated feature explained

Why Zig over Rust, C, C++, Odin, Nim, etc?

Constructors Are Broken

"Clean" Code, Horrible Performance

