Rust 闭包笔记
近日在学习 Rust 语言。Rust 语言的闭包设计非常有趣,一方面,它看起来非常复杂,为了支持闭包设计了三种不同的 trait,Fn
、FnMut
和 FnOnce
;一方面其设计又透露出了语言设计中闭包的本质。通过考察 Rust 闭包的设计,我们能更好的理解闭包到底是什么,在拥有生存期和借用检查的语言 Rust 中,闭包如何工作。
本文将在 Rust 下实现一个能够阐述闭包工作原理的朴素版闭包(也是一个 Boxed Closure)。并在实现的基础上对 Rust 闭包作进一步探究。
Continue reading...