What Is the Difference Between use, mod, and extern crate?

use imports items, mod defines modules, and extern crate is deprecated for external dependencies in modern Rust.

use brings items into scope, mod declares a module, and extern crate (deprecated in modern Rust) declares a dependency from outside the current crate.

mod my_module { pub fn hello() {} }
use my_module::hello;
// extern crate is no longer needed for most dependencies in Rust 2018+

In modern Rust (2018 edition and later), you typically only use use to import items and mod to define modules; extern crate is automatically handled by the compiler for dependencies listed in Cargo.toml.