logoalt Hacker News

convolvatronyesterday at 11:24 PM2 repliesview on HN

I really wanted just yesterday to create a dyn AsyncFnMut, which apparently still needs async-trait to build the stable. but I was pretty much unable to figure out how to make that work with a lambda. saying this is all trivial once you understand the borrow machinery is really understating it.


Replies

kibwentoday at 12:10 AM

> saying this is all trivial

The comment above isn't saying that closures are trivial. Once you understand the borrow checker, you understand that it's a miracle that closures in Rust can possibly work at all, given Rust's other dueling goals of being a GC-less language with guaranteed memory safety despite letting closures close over arbitrary references. Rust is in uncharted territory here, drawing the map as it goes.

speed_spreadtoday at 1:06 AM

Async is the stuff that messes up everything. Closures are not complicated.