Rust具有这种Any特性,但它也有"不支付你不使用的"政策.Rust如何实现反射?
Any
我的猜测是Rust使用了懒惰标记.每个类型最初都是未分配的,但是稍后如果将类型的实例传递给期望Any特征的函数,则为该类型分配一个TypeId.
TypeId
或者Rust TypeId可能会在其实例可能传递给该函数的每种类型上放置一个?我想前者会很贵.
reflection rust
在运行时使用C,我可以:
在Rust中类似的东西可能吗?
特别是我想使用代数数据类型,因此使用Rust的C子集是不够的.
algebraic-data-types rust
rust ×2
algebraic-data-types ×1
reflection ×1