4 个版本

0.0.4 2022年7月17日
0.0.3 2022年7月17日
0.0.2 2020年11月20日
0.0.1 2020年11月20日

#5#hazard


dyn_safe 中使用

Zlib OR MIT OR Apache-2.0

10KB
270

::dyn_safe

Repository Latest version Documentation MSRV unsafe forbidden License

控制你的 traits 的 dyn 安全性的 Semver 危险!

用法
  1. cargo add dyn_safe,或者在你的 Cargo.toml 文件中添加以下内容

    [dependencies]
    dyn_safe = "x.y.z"
    
    • 你可以使用 cargo search dyn_safe 来查找版本
  2. 将以下内容添加到你的 lib.rs 文件中

    #[macro_use]
    extern crate dyn_safe;
    
  3. 使用 #[dyn_safe(true)]#[dyn_safe(false)] 来分别断言 trait 对象是 dyn 安全的或者 trait 对象不应该被 dyn 安全的。

    • #[macro_use]
      extern crate dyn_safe;
      
      #[dyn_safe(true)]
      trait Foo {
          fn whoops ();
      }
      
    • #[macro_use]
      extern crate dyn_safe;
      
      #[dyn_safe(false)]
      trait Foo {
          //
      }
      
      let _: dyn Foo; // Whoops
      

无运行时依赖