gpt4 book ai didi

rust - 如何获得 Rc 或 Boxed 值的内部值的 TypeId,而不是封闭类型的 TypeId?

转载 作者:行者123 更新时间:2023-11-29 08:10:46 32 4
gpt4 key购买 nike

我正在使用关联列表来关联 TypeId事件类型的 s 和 TypeId谁想要接收它们。

当我尝试获取 TypeId 时的 Rc<Any> , 它给你相同的 TypeId (Rc 中的一个存储了一个 Any )不管 Any 是什么是。

#![feature(get_type_id)]

use std::any::*;
use std::rc::Rc;

fn main() {
let temp: Rc<Any> = Rc::new(13);
let temp2: &Any = &5;

assert_eq!(temp.get_type_id(), temp2.get_type_id()); //fails!
}

我怎样才能得到 TypeId相关的 Any在里面?

我相信Rc<_>实现 Deref特征以及 Any特征。这意味着您可以取消引用 Rc并在内部引用中调用函数。这也意味着 Rc有自己的关联 TypeId .我不是在寻找 TypeIdRc ,我正在寻找 TypeId来自取消引用的 Any .

最佳答案

显式取消引用包装类型:

(*temp).get_type_id()

关于rust - 如何获得 Rc 或 Boxed 值的内部值的 TypeId,而不是封闭类型的 TypeId?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53090205/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com