# **🦀 Booth: Rust (2015)**

* **Creator:** Graydon Hoare (Mozilla Research)  
* **Design Philosophy:** Safety, speed, and concurrency—choose all three. Rust guarantees memory safety and thread safety without a garbage collector through its signature static compilation borrow checker.  
* **Key Innovations:** Ownership, borrowing, lifetimes, safe pointers, hygienic macros, and zero-overhead abstractions.

## **🔒 The Math of Ownership & Lifetimes**

Rust's borrow checker enforces ownership policies strictly at compile time.

Let ![][image1] represent the lifetime of a variable ![][image2], and let ![][image3] represent the active span of a reference borrow ![][image4] referencing ![][image2]. To prevent dangling pointers, the borrow checker enforces:

![][image5]Furthermore, if there exists a mutable reference ![][image6], no other reference (mutable or immutable) may overlap in its execution span:

## **![][image7]🚀 Hello, World\!**

fn main() {  
    println\!("Hello, World\!");  
}

## **🎨 Showpiece: Concurrent Thread Safety (Channels)**

This program showcases Rust's ownership transfer across threads via a thread-safe message-passing queue (channel). The compiler guarantees that variables sent through the channel cannot be accessed by the sender thread afterwards, preventing data races.

use std::sync::mpsc;  
use std::thread;  
use std::time::Duration;

struct Payload {  
    id: u32,  
    message: String,  
}

fn main() {  
    // Create an asynchronous channel: Sender (tx) and Receiver (rx)  
    let (tx, rx) \= mpsc::channel();

    // Spawn a worker thread to compute values  
    let sender\_handle \= thread::spawn(move || {  
        let task\_payload \= Payload {  
            id: 101,  
            message: String::from("Calculated telemetry from worker thread"),  
        };

        println\!("\[Worker\] Dispatching computed payload data over channel...");  
        // This move transfers ownership of task\_payload entirely out of this thread scope\!  
        tx.send(task\_payload).unwrap();  
          
        // Uncommenting the next line will fail compilation\!  
        // println\!("Stored ID was: {}", task\_payload.id);  
    });

    println\!("\[Main\] Main thread waiting on results from thread pool...");  
      
    // Non-blocking work can happen here  
    thread::sleep(Duration::from\_millis(100));

    // Safely block main execution stream until data is received  
    match rx.recv() {  
        Ok(received\_data) \=\> {  
            println\!("\[Main\] Received payload safely\! ID: {}, Message: '{}'",   
                received\_data.id, received\_data.message);  
        }  
        Err(e) \=\> println\!("\[Error\] Channel failed: {:?}", e),  
    }

    sender\_handle.join().unwrap();  
    println\!("\[Main\] All worker threads synchronized and completed safely.");  
}  


[image1]: <data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAAaCAYAAAAqjnX1AAADZElEQVR4XsVWO2gUURTdMYoookHZCPuZN/ux8QPBBdEufkARm6QQbfykEZWAYBMLtVDRWNgJakBUhGAhWFkoEcXC2kaUBS0Es2oXEcFF4rmz7828uXPf7EAED1xm3jnn3nffmzezW/AKefAvXLGa7Vs0dHk2i3tSSfFENgFjEI0SKXEMsAz4vn/EDFKQOCAIgmdKqXHORwjzWDISRhHPpUg6NXS+r9SdVDEnYl+tVluP2p+wwD2WgYHVrVarJaxuBEkXkLyA60XEQeKMh7cC3ynEN0bnBmofQ36n2Wyu5lomkHRZKX82HPCuCJqrVCpr4f1JixENDjB1KWp8QLNTSbqQMiaApBeI8zHjiQkoPInFzOM6yLU0hAIayD+B+X5x3okgqI3Qo8YureCaDZynbcpXC5jgDNcMUKNsj4vF4irafZszwJxvsxYSAx5zHvXQCX0WqcntXCNAu0lnDfp9i+tg5+fq9foa26u1aVoE50Wo3tscNpkA6xieG7ST5XJ5XVIJtdNo7hGuT6mWeSng7+qFDfOcWhCcg7aV86mJC71D/ENskgGeB9q3xObpmIBvNxqNIaqFz9MX46GjoZsuRglhDx5pJ/EUd0e8/R5oTwjzqBGvLdqAFvCuVCqtpAHuZxFfY1m7rYK61k4joZG9GM/0RjY8+taOQT/KFdZp9FbT9/Fq5NFAgcOI22YM32NE116KvSg6Xzh/n20adW+hxnHLpuFRvXHEqB4aOnntFVW/UZiaPKBpewFtxA5D436aFiS9BAQ0s492zW4c44+ulwPaWcQuzieA7d5Pk1Lwrz/Gy3Ho30eEFx70Kf0JCmJnDIWFotb1cKA7xeInLIuFcCcv0S8eV0IgcZNpjodv3aPAZjuPdhD8H8QVe7dsQPuOGjO4PkS0uW4D+hznciD7LxVpKPwSi3wVMykMYKOHfeVvbLVay7hogC/CFtqIiBBL9YWchQYOoXgXk2zgmkGYKadHNOpcU65/Wv2S04M0UPwN4i7n84BKo8FB5M8jxrjeQ58G8oB2ERN05GL9OTqvODJPUkIKDtlBi8COTMajrMz4rKO5e416YyghRxBqCJTIuZHhzpA4Yqu5E5PTthSYkFmOkBBkl8z2RY40R7O54DA76B4kMeQkYZFwl3Qr/weOIyC1+RdeRrDmGqH5EAAAAABJRU5ErkJggg==>

[image2]: <data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAaCAYAAABhJqYYAAABRElEQVR4Xm1Su03EQBC1JZBIERBgy7O71kFCaEFGASRISFRwBSBqoACqQCIgIkRXBBRAQEQb8Mazn9mx32l1M2/evjd7uqZJaHNlqJVBBZ7PGivUfaqNRrWlFEN8jEEOin1V2b7A9gzLtTqtyjFgoRQ1CewpJq0bR1FMRKfOuS+c32EYLlOmI/rAbIp3BY7cjsjdQ/yH85ScUH/ibLMQTtc++HdOgROLtyXRXaC/kU49bBzHcwx2sqmQ0zTtZ52G9+GRHD2UVzW8xt1c6gcyMHiZH5M53pneYlnANcSvXdcdy2Zts9mcnXiPt2jIpRZr+ANc+MZ5huMPHn671MWK3fq+PwohXOGnPBTGiDTq4VI+E+ZOwTxIf6Ko4kb6hVfR1Bw7JEq+l4kqIvvqWI11t7XsTBQ2Z8SQGgvCoJ4rC5VSGceYfyqYIGbfmybaAAAAAElFTkSuQmCC>

[image3]: <data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAaCAYAAADFTB7LAAADmUlEQVR4Xp1WPWgUQRjdMacWWviT8+Ryt7PLxcLDQoiFCqIWgmBAaysxijZBxEJEUHstAgpKKgXRRlH8wUYliiKCSgiRgOAPKgYs1BhSaJDzffNzOzM3N9nLI5Pbee9933z7zeztRRGBNf8FwcjisXkoC2Fdqm1Sd4A80fNYxR/C9F9+xHF83OVMlMvlbs75RJIk612tWq2WzdXoEr5t8I8i7/JMyQm38iRNEiS77xUVAf05xoBmK5XKGsxfYEzHnDc8gRRzEtpIb2/vYpq3OkwEVCR6gESvXN4MQieeGELUXSwuVV26znnc0Ly1pSxaAH08jvkprXUEtRV7kKSBRb66uk6J4nbAt9MRBcDfoXiXl2Ck70PuaTkLIpP1FbUeCd6hgItY5K9lMgD9tsspawGd/4XYKW+gRIHWcEmBQFBUq9WqSDyJ4NX4XEtdwGFfZ5mY6NDRdh2iB0t2nx+j7UZ8zTKoAtQu7bK0JoSptVS0/QbOxiBd9/T0rFQLbW/18asYf0yOqXzg71IcCr2Mz3M85pO0G319fQtNP5qxCvpZPdfxQXD5UHSpKR1mFBjvNT0ELPgySZMxk1PpC/DPUBw6NEQEfLtVwadNPwH8PZdrwq2Xzh62Y4PJqcRH9FzHgP+IAp5qXgPxW+jrRWnCjp2oiDycv5EulYXJrymTagt19sSde8awk6BL8TctNpJfTUrbbHD7FTdiWLX2JVwbk8XTYkmSHnY1lfiWxUeC/47xyMNPYfzEZUEQMscw5UH+IbcY8OM24zoABNIZIaM+e02oAp+5ceDeYry2WcH/w3hoUDiT/BPGbOJ5HYrcJqx1mDh3RZyxzwjeakoaqsD37p3RGwRP+weLjIR/lKvXo9qZAypH82k1wLDuFZcUoJe1CmzQK4k+sWC/VBklviA40mKpY8wa8f3EybJ18Uz8QAD/GAuPwXMJnycMgwVoh+BNXV6Y6Z83KoSsjqhUKi1B8hlLz8CgbUKBdZu1L/FUX8sYRYbg1U3SMaCI8/V6fZGee+Md6MakSbIMO/c7Y134uKgtLeBq+Gm1Al06aHKux4IhYnvP4AYnMkYjmCEK60ozLVjkW5qmJd2ZPODyHf8DRW50tRbMmXROg3hgBumryuV9wHt5gIsfuDJxjvStyBWUy9SKYJhf9LMZbD2bza8Dpp/lCs5l6gTuLfjgKjQP3LCXbCKsEuZ2RMrEcnatic7c7dAui4/3cT78Bz8Bw4tFlz/dAAAAAElFTkSuQmCC>

[image4]: <data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAaCAYAAABl03YlAAABUUlEQVR4XnVSO04DMRC1SyQQ1UoUjmd3s9JScAMaujT0NMApaLgBCImOhgKJG1AhUVBBwwlScAcaRB3eeMbecQgjOfabz3vP3jhnw1dogjbvGfn0W3fwWbHv+3lsEblcUYQwOyCiH6xVJLoVzjyqq5/3uyg+Y626tjuRQmmTLo8EWN4jRW7aszXdhY+liOKSGSajhUsOyU+Mp2wccdQqo3HGTSzVPsZILxi4g7+vrJOamqbZFjm6EJPOge0SzMeFB4kFTD9lnHJduwD7feECwysa9wVJAF9j8Eah95j45ksJlA25N8idJRBC2OJH1JYUwzA07HEcx52SRGKZDXNA6opvm0BWwIedgfoDhQewfsLLeapPc7Kh6ZBfUefklsVo4fsn8pvks81vBib+iqhu5aFI2HZDaf6Tis1x3dsGK2ZaiZOynVinr1imt6pztSvnfgEHyDMVucKCzwAAAABJRU5ErkJggg==>

[image5]: <data:image/png;base64,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>

[image6]: <data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAbCAYAAACjkdXHAAABl0lEQVR4Xo1Ru0oEMRSdsdFCwWZQxMljGJnCQrERLMTaYhsLQbDwEyzESsRGtBUb6/0AGz9gQRELLWQ/QbC2t1hPMsnkTpLZ8UB2c8/j3uzdJE0IWkWUaCMmO65D1bTVYuOjWpSIwGv4n0gSGHtTvYZpaC2AouOHx6w1vIWFhYOii6JgnLMR5/wHZ78RANQjWwohblBPasUAxKOUckMJMDxYvizXMnDvthPuQwxxYSHlriKNiLC8so/M83wA7l7dFZdl2Tzqb5tVgR2cLX1nfMIYW7caY/waLzlszMrD2ROtdVspxRKafFIO9QvCy3RhCL8F+8PEY0y+sHVVVQsI/1IPGi2C+6gr0gEd74QUm2Q5B3o5ukyxvHIW3DjPV1fqRCvMj9D5RN2N8VUt0LqgnaI+cwmrmA88+wvPv8SfPob5FvdzBJ5xhioM04wLWZgwDHM420xt3xhQ7yEs/R05eEpoDBmN2As8Qn9H445MOwcohEN8shN0sj9kWodAI+FYk5CjDLkHjZM4pxE0oohNDphQbaFHbgx/nxA7rJR5weEAAAAASUVORK5CYII=>

[image7]: <data:image/png;base64,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>