首页 > 解决方案 > 是否可以列出为特定类型(变量)实现的所有特征?

问题描述

在 Rust 中是否可以列出为一个类型(变量)实现的所有特征?例如,出于学习目的,我想知道为闭包实现的所有特征(包括标记特征),例如,像这样:

fn main() {
    let int_value: i32 = 1;
    let string_value = String::from("Value");
    let my_closure = || {
        let moved_string_value = string_value; 
        println!("{}: {}", moved_string_value, i);
    };
    list_traits(my_closure);
}

我的理解是,在编译时,编译器知道闭包的类型(唯一匿名类型),因此它可能会以某种方式检测有关为此类型实现的所有特征的信息,并将该数据存储在某种结构中,以便稍后在运行时显示.

标签: rust

解决方案


推荐阅读