rust
9 lines · 1 tab
Marcus Chen
Jan 2026
1 tab
use std::io::Write;
use tempfile::NamedTempFile;
fn main() -> std::io::Result<()> {
let mut tmpfile = NamedTempFile::new()?;
writeln!(tmpfile, "Hello, temp file!")?;
println!("Created temp file: {:?}", tmpfile.path());
Ok(())
} // tmpfile is deleted here
1 file · rust
Explain with highlit
The tempfile crate creates temporary files and directories that are automatically cleaned up on drop. I use it in tests, build scripts, and anywhere I need scratch space. tempfile::NamedTempFile gives you a file path, while tempfile::tempfile() creates an anonymous file (no path). For directories, use tempdir(). The cleanup is automatic and panic-safe thanks to RAII. This prevents test pollution and resource leaks. For persistent temp files, call .persist() to move them out of the temp directory. Tempfile is essential for testing code that reads/writes files without littering the filesystem.
Related snips
ruby
class CommentsController < ApplicationController
before_action :set_post
def create
@comment = @post.comments.build(comment_params)
System test: asserting Turbo Stream responses
rails
hotwire
turbo
by codesnips
4 tabs
rust
struct Config<'a> {
name: &'a str,
value: &'a str,
}
fn parse_config(line: &str) -> Config {
Lifetime annotations for flexible borrowing in structs
rust
lifetimes
borrowing
by Marcus Chen
1 tab
rust
use crossbeam::channel::unbounded;
use std::thread;
fn main() {
let (tx, rx) = unbounded();
Crossbeam for advanced concurrent data structures
rust
concurrency
lock-free
by Marcus Chen
1 tab
rust
use tracing::{info, instrument};
#[instrument]
fn process_request(user_id: u64) {
info!(user_id, "Processing request");
// Work happens here
tracing for structured logging and distributed tracing
rust
observability
tracing
by Marcus Chen
1 tab
rust
use std::sync::mpsc;
use std::thread;
fn main() {
let (tx, rx) = mpsc::channel();
Channels (mpsc) for message passing between threads
rust
concurrency
channels
by Marcus Chen
1 tab
rust
use clap::Parser;
#[derive(Parser, Debug)]
#[command(author, version, about)]
struct Args {
#[arg(short, long)]
clap for CLI argument parsing with derive macros
rust
cli
clap
by Marcus Chen
1 tab
Share this code
Here's the card — post it anywhere.