为什么忽略特征实现上的自动特征Send的特征边界?() fn is_send(&self); fn is_send(&self) {} let i = std::rc::Rc::new(43);
i.is_send(); // (!!) no compiler error although Rc<
问题是,我如何编写代码,以便在运行时知道从std::list或std::vector调用哪个操作?例如,要获取容器中的第一个元素,我必须在向量情况下调用data[0],在列表情况下调用data.front()。我应该只使用typeid运算符吗?if (typeid(R) == typeid(vector<T*>))else if (typeid(R) == typeid(list<T*>))
then