首页 文章
  • 3 votes
     answers
     views

    了解特征和对象安全

    我正在努力解决对象安全的基础问题 . 如果我有这个代码 struct S { x: i32 } trait Trait: Sized { fn f(&self) -> i32 where Self: Sized; } fn object_safety_dynamic(x: Trait) {} 我收到 fn object_safety_dynamic(x: Tra...
  • 6 votes
     answers
     views

    Rust中的错误与特征对象的生命周期混淆

    任何人都可以通过以下代码告诉问题是什么?编译器抱怨生命周期,但错误消息绝对没有意义 . 我已经尝试了我能想到的一切,但似乎没有任何帮助 . use std::borrow::BorrowMut; trait Trait<'a> { fn accept(&mut self, &'a u8); } struct Impl<'a>{ myref...
  • 6 votes
     answers
     views

    无法克隆Vec <Box <Trait >>因为Trait无法成为对象

    我正在尝试克隆盒装特征的向量 . 自然地简单地在实现我的特征的所有结构上派生 Clone 并不是在编译时知道实现该特征的所有结构都具有 Clone . 好吧,所以我接着尝试使用 Clone 作为超级画面,但这只会导致 Headers 中的错误 . 我对解决方案感到茫然 . 这是最小工作实现(或不工作,因为我无法克隆) #![allow(dead_code, unused_macros)] use...

热门问题