Function std::any::type_name

1.38.0 (const: unstable) · source ·
pub fn type_name<T>() -> &'static strwhere
    T: ?Sized,
Expand description

以字符串切片的形式返回类型的名称。

Note

这旨在用于诊断。 除了作为尽力而为的类型描述之外,未指定返回的字符串的确切内容和格式。 例如,在 type_name::<Option<String>>() 可能返回的字符串中,有 "Option<String>""std::option::Option<std::string::String>"

返回的字符串不得视为类型的唯一标识符,因为多个类型可能会 map 变为相同的类型名称。 同样,不能保证类型的所有部分都将出现在返回的字符串中:例如,当前不包括生命周期说明符。 此外,输出可能会在编译器的版本之间改变。

当前的实现使用与编译器诊断和 debuginfo 相同的基础结构,但这不能保证。

Examples

assert_eq!(
    std::any::type_name::<Option<String>>(),
    "core::option::Option<alloc::string::String>",
);
Run