最佳答案
Rust 具有 Any
特性,但它也有一个“不为你不使用的东西付费”的策略。Rust 如何实现反射?
我猜 Rust 用的是懒标签。每个类型最初都是未赋值的,但是如果类型的一个实例被传递给一个期望 Any
特性的函数,该类型就会被赋值一个 TypeId
。
或者 Rust 在每个类型的实例可能传递给该函数的类型上都设置 TypeId
?我想前者会很贵。