Skip to content

Take control of the Semver hazard of the `dyn` safety of your traits!

License

Apache-2.0 and 2 other licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Zlib
LICENSE-ZLIB
Notifications You must be signed in to change notification settings

danielhenrymantilla/dyn_safe.rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

::dyn_safe

Repository Latest version Documentation MSRV unsafe forbidden License

Take control of the Semver hazard of the dyn safety of your traits!

Usage
  1. cargo add dyn_safe, or add the following to your Cargo.toml file:

    [dependencies]
    dyn_safe = "x.y.z"
    • where you can find the version using cargo search dyn_safe
  2. Add the following to your lib.rs file:

    #[macro_use]
    extern crate dyn_safe;
  3. Use #[dyn_safe(true)] or #[dyn_safe(false)] to, respectively, assert that the trait object is dyn-safe or that the trait object should not be dyn-safe.

    • #[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

About

Take control of the Semver hazard of the `dyn` safety of your traits!

Resources

License

Apache-2.0 and 2 other licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Zlib
LICENSE-ZLIB

Stars

Watchers

Forks

Packages

No packages published

Languages