#til std::mem::drop is just an empty function!
fn drop(_x: T) {}
https://doc.rust-lang.org/src/core/ops/drop.rs.html#243
The "drop" happens as a consequence of transferring ownership
(and in case you're wondering, yes, I learnt of this because of the classic let _ = expr vs let _x = expr footgun; the former drops the unowned temporary at the end of the line, the latter binds so the value lives till the end of scope, and drop is the way to force the complier's hand)