Code Example Template
pub mod keyboard_listener;
use keyboard_listener::Hook;

Deep-Dive System Documentation

Modules: Codebase Architecture

Rust structures symbols using modules and crates to maintain strict boundary safety and prevent naming collisions.

Core Directives

  • mod: Declares a new module inside a file, or references another source file.
  • pub: Marks a symbol, struct, or module as public. By default, everything in Rust is strictly private to prevent hidden internal dependency leaks.
  • use: Brings external or nested symbols into the local file scope.
// Declaring a keyboard input listener module
pub mod keyboard_listener {
    // Public structure visible externally
    pub struct Hook {
        pub id: u32,
    }
}

// Importing and using the module struct
use keyboard_listener::Hook;

let my_hook = Hook { id: 1 };

Directory Layouts

Modules can map directly to a file name (e.g. keyboard_listener.rs) or a folder with a nested mod.rs index file.

Quick Reference Guide

pub mod my_module;
use my_module::my_function;