Rust 中有类似表达式模板的东西吗?

Is there something like expression templates in Rust?

在 C++ 中,表达式模板是一种技术,它依赖于编译器对 C++ 代码中表达式的了解来简化它们并优化它们,使其超出过程程序中的可能范围。这是一种强大的技术,例如, Eigen 和 Armadillo 矩阵库,以加速矩阵上的某些复合运算。 incomplete wiki page on the Eigen web page 几乎要开始解释了。

我想知道 Rust 中是否存在类似的技术,即是否有办法让 Rust 编译器在编译时优化某些表达式,以便创建最少数量的临时对象。

如果我读到 Expression Templates right, then you can see them in action with Rust Iterators: methods such as filter, take,等等 return 一个表达式模板,一个表示计算但在请求之前不执行的结构。这会立即提供您需要的优化,不会创建临时文件。

使用 子句我想可以编写专门化来进一步优化某些计算组合。