在 Rust 中,如何检查闭包捕获的值?

问题描述 投票:0回答:1

在 Rust 中,如何创建一个接受闭包作为参数的函数,并以反射方式迭代和打印闭包捕获的所有值?

例如:

fn print_captured_values<F>(f: F) where F: Fn() {
  // How to implement it?
}
generics rust lambda reflection closures
1个回答
0
投票

你不能。

闭包具有匿名不透明类型,并且仅实现它们可以实现的

Fn*
特征(和自动特征)。 Rust 没有反射,并且它的类似反射的机制在非局部类型上是不可能的。

© www.soinside.com 2019 - 2024. All rights reserved.