如何将通用函数和类型存储在rlib中?

F00*_*001 18 generics rust

在C++中,模板无法生成动态库,我们只能通过头文件使用它们.

在C#中,泛型函数和类型可以用.NET中的中间语言来解释.

Rust没有虚拟机,并且泛型可以存储在rlib文件中.它是如何实现这一目标的?rlib文件的格式是什么?

DK.*_*DK. 17

An rlibar包含其他元数据的常规静态库(以格式构建).除其他外,该元数据包含用于标记的所有泛型和函数的完整的序列化抽象语法树(AST)#[inline].

这有点像是有一个C++编译器将库的头文件推入编译的二进制文件中,然后在链接到该库时再次读出它们.