頭條地址:https://www.ixigua.com/i677586170644791348...
B站地址:https://www.bilibili.com/video/av81202308/
github地址:https://github.com/anonymousGiga/learn_rus...
(1)當至少有一個方法中包含編譯器不能驗證的不變數時,該 trait 是不安全的;
(2)在 trait 之前增加 unsafe 關鍵字將 trait 宣告為 unsafe,同時 trait 的實現也必須標記為 unsafe。
例子:
struct Bar();
unsafe trait Foo {
fn foo(&self);
}
unsafe impl Foo for Bar{
fn foo(&self) {
println!("foo");
}
}
fn main() {
let a: Bar = Bar();
a.foo();
println!("Hello, world!");
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結