HN Hall of Fame Weekly email

Common Rust Lifetime Misconceptions

github.com Books & learning Tutorials & guides Software engineering Candidate
Screenshot of github.com captured 2026-07-20
Page preview · captured 2026-07-20

Resurfaced independently across 4 calendar years, with breakout response in 3 of them.

submissions
5
submitters
5
observed span
2020–2025
peak thread · 87 comments
195 pts
latest 20+ return · 2025-12-15
137 pts

Submission timeline

2007–2026

One slot for every year since HN launched. Height is that year's peak points; orange marks a 100+ point or 50+ comment breakout. Select a bar to open its strongest thread.

First comments on top threads

HN comment order

How I bail myself out of Rust lifetime problems as somebody who probably learned Rust the wrong way (by just trying to build stuff as if it were C/node.js and run into problems instead of slowing down + reading): 1. .clone() / .to_owned() 1. String -> vs &String/&str with & borrow 1. lazy_static / OnceCell + Lazy / OnceLock 1. Arc<Mutex<T>> with lots of .lock(). What would start off as like NULL in Java/C is Arc<Mutex<Option<T>>> and you have to…

> T only contains owned types I'd say this is true, because I consider &mut T and &T to be owned types in their own right. They own a pointer. I can cast them to raw pointers. &T impl's Copy even if T doesn't. https://doc.rust-lang.org/1.43.1/src/core/marker.rs.html#794 Otherwise, the compilation is great.

est31·178-point thread·

My only complaint with this excellent list is that it treats "generics" and "lifetimes" as separate things. There's a reason the lifetime is inside the generic brackets. The code is generic over some lifetimes just as it can be generic over some types. As a Rust beginner I read lifetimes backwards, thinking <'a> means I'm "declaring a lifetime" which I then use. What that actually declares is a placeholder for a lifetime the compiler will attempt to find wherever that…

wrs·137-point thread·

The first top-level comment from each of the four biggest threads, in HN’s own order. Excerpts are shortened; open a comment for full context.

Breakout years
3

100+ points or 50+ comments

Total points
516

reference only — not used in Hall rules or ranking

Total comments
211

reference only — not used in Hall rules or ranking

Every submission

DateTitle as submittedByPointsComments
2020-05-22Common Rust Lifetime Misconceptionstodsacerdoti41
2020-05-23Common Rust Lifetime MisconceptionsFirst breakoutdonmcc17842
2022-06-12Common Rust Lifetime Misconceptionssrik20
2023-12-05Common Rust Lifetime MisconceptionsBest threadnic_wilson19587
2025-12-15Common Rust Lifetime MisconceptionsLatest 20+ point returnCafeRacer13781