[−][src]Crate dyn_safe
::dyn_safe
Take control of the Semver hazard of the dyn
safety of your traits!
Usage
-
cargo add dyn_safe
, or add the following to yourCargo.toml
file:[dependencies] dyn_safe = "x.y.z"
- where you can find the version using
cargo search dyn_safe
- where you can find the version using
-
Add the following to your
lib.rs
file:ⓘThis example is not tested#[macro_use] extern crate dyn_safe;
-
Use
#[dyn_safe(true)]
or#[dyn_safe(false)]
to, respectively, assert that the trait object isdyn
-safe or that the trait object should not bedyn
-safe.-
ⓘThis example deliberately fails to compile
#[macro_use] extern crate dyn_safe; #[dyn_safe(true)] trait Foo { fn whoops (); }
-
ⓘThis example deliberately fails to compile
#[macro_use] extern crate dyn_safe; #[dyn_safe(false)] trait Foo { // … } let _: dyn Foo; // Whoops
-
Traits
NotObjectSafe | "Marker" (super-)trait used to opt-out of object safety. |
Attribute Macros
dyn_safe |