如何检查'Box <any>'是否在短表达式中包含'Unit'?

时间:2017-01-04 06:18:41

标签: casting rust box any

检查Box<Any>的便捷方法是()(由Box::new(())创建)。

目前我有这个,但我怀疑可能有一种更紧凑的方式来表达这一点,因为这项任务似乎是多余的。

pub fn some_function(value: Box<Any>) {
    if let Some(&()) = value.downcast_ref() {
        // pass
    } else {
        panic!();
    }
}

1 个答案:

答案 0 :(得分:1)

这可以使用Any::is方法完成,例如:

assert!(value.is::<()>());