| Vulnerabilities | |||||
|---|---|---|---|---|---|
| Version | Suggest | Low | Medium | High | Critical |
| 1.0.20 | 0 | 0 | 0 | 0 | 0 |
| 1.0.19 | 0 | 0 | 0 | 0 | 0 |
| 1.0.18 | 0 | 0 | 0 | 0 | 0 |
| 1.0.17 | 0 | 0 | 0 | 0 | 0 |
| 1.0.16 | 0 | 0 | 0 | 0 | 0 |
| 1.0.15 | 0 | 0 | 0 | 0 | 0 |
| 1.0.14 | 0 | 0 | 0 | 0 | 0 |
| 1.0.13 | 0 | 0 | 0 | 0 | 0 |
| 1.0.12 | 0 | 0 | 0 | 0 | 0 |
| 1.0.11 | 0 | 0 | 0 | 0 | 0 |
| 1.0.10 | 0 | 0 | 0 | 0 | 0 |
| 1.0.9 | 0 | 0 | 0 | 0 | 0 |
| 1.0.8 | 0 | 0 | 0 | 0 | 0 |
| 1.0.7 | 0 | 0 | 0 | 0 | 0 |
| 1.0.6 | 0 | 0 | 0 | 0 | 0 |
| 1.0.5 | 0 | 0 | 0 | 0 | 0 |
| 1.0.4 | 0 | 0 | 0 | 0 | 0 |
| 1.0.3 | 0 | 0 | 0 | 0 | 0 |
| 1.0.2 | 0 | 0 | 0 | 0 | 0 |
| 1.0.1 | 0 | 0 | 0 | 0 | 0 |
| 1.0.0 | 0 | 0 | 0 | 0 | 0 |
1.0.20 - This version may not be safe as it has not been updated for a long time. Find out if your coding project uses this component and get notified of any reported security vulnerabilities with Meterian-X Open Source Security Platform
Maintain your licence declarations and avoid unwanted licences to protect your IP the way you intended.
MIT - MIT LicenseThis crate provides a DynClone trait that can be used in trait objects, and a
clone_box function that can clone any sized or dynamically sized
implementation of DynClone. Types that implement the standard library's
std::clone::Clone trait are automatically usable by a DynClone trait
object.
The signature of clone_box is:
fn clone_box<T>(t: &T) -> Box<T>
where
T: ?Sized + DynCloneuse dyn_clone::DynClone;
trait MyTrait: DynClone {
fn recite(&self);
}
impl MyTrait for String {
fn recite(&self) {
println!("{} ♫", self);
}
}
fn main() {
let line = "The slithy structs did gyre and gimble the namespace";
// Build a trait object holding a String.
// This requires String to implement MyTrait and std::clone::Clone.
let x: Box<dyn MyTrait> = Box::new(String::from(line));
x.recite();
// The type of x2 is a Box<dyn MyTrait> cloned from x.
let x2 = dyn_clone::clone_box(&*x);
x2.recite();
}This crate includes a macro for generating the implementation impl std::clone::Clone for Box<dyn MyTrait> in terms of dyn_clone::clone_box:
// As before.
trait MyTrait: DynClone {
/* ... */
}
dyn_clone::clone_trait_object!(MyTrait);
// Now data structures containing Box<dyn MyTrait> can derive Clone:
#[derive(Clone)]
struct Container {
trait_object: Box<dyn MyTrait>,
}