Marcus Chen

78 code snips · on codesnips 5 months

Rust systems engineer building high-performance tools and services. Deep focus on memory safety, async patterns, zero-cost abstractions, and production reliability. 10+ years in...

rust
use std::mem;

fn main() {
    let mut x = 5;
    let mut y = 10;

std::mem helpers for low-level memory manipulation

rust memory
by Marcus Chen 1 tab
rust
use std::mem::MaybeUninit;

fn main() {
    let mut uninit: MaybeUninit<i32> = MaybeUninit::uninit();
    unsafe {
        uninit.as_mut_ptr().write(42);

MaybeUninit for safe uninitialized memory

rust unsafe memory
by Marcus Chen 1 tab
bash
# Install
cargo install cargo-expand

# Expand entire crate
cargo expand

cargo-expand to inspect macro expansions

rust macros debugging
by Marcus Chen 1 tab
rust
// In a proc-macro crate:
use proc_macro::TokenStream;
use quote::quote;
use syn::{parse_macro_input, DeriveInput};

#[proc_macro_derive(MyTrait)]

Procedural macros for custom derives and attributes

rust macros metaprogramming
by Marcus Chen 1 tab
rust
// build.rs
fn main() {
    println!("cargo:rerun-if-changed=build.rs");

    let version = env!("CARGO_PKG_VERSION");
    println!("cargo:rustc-env=BUILD_VERSION={}", version);

Build scripts (build.rs) for compile-time code generation

rust cargo build
by Marcus Chen 1 tab
rust
use std::io::Write;
use tempfile::NamedTempFile;

fn main() -> std::io::Result<()> {
    let mut tmpfile = NamedTempFile::new()?;
    writeln!(tmpfile, "Hello, temp file!")?;

tempfile for safe temporary file creation

rust testing files
by Marcus Chen 1 tab
rust
use std::process::Command;

fn main() -> std::io::Result<()> {
    let output = Command::new("ls")
        .arg("-la")
        .output()?;

std::process::Command for spawning external processes

rust processes cli
by Marcus Chen 1 tab
rust
use std::path::Path;

fn process_file(path: impl AsRef<Path>) {
    let path = path.as_ref();
    println!("Processing: {}", path.display());
}

AsRef and AsMut for flexible function parameters

rust traits conversion
by Marcus Chen 1 tab
rust
use std::ops::Deref;

struct MyBox<T>(T);

impl<T> Deref for MyBox<T> {
    type Target = T;

Deref and DerefMut for smart pointer ergonomics

rust traits smart-pointers
by Marcus Chen 1 tab
rust
trait Container {
    type Item;
    fn get(&self, index: usize) -> Option<&Self::Item>;
}

struct Warehouse {

Associated types in traits for cleaner generics

rust traits generics
by Marcus Chen 1 tab
rust
use std::fmt::Display;

fn make_adder(x: i32) -> impl Fn(i32) -> i32 {
    move |y| x + y
}

impl Trait for opaque return types

rust traits
by Marcus Chen 1 tab
rust
const MAX_SIZE: usize = 1024;

const fn square(n: u32) -> u32 {
    n * n
}

const and const fn for compile-time evaluation

rust const performance
by Marcus Chen 1 tab