Amplifying Rust language capabilities: multiple generic trait
implementations, type wrappers, derive macros.
amplify::AsAny] allows simple conversion of any type into a generic
&dyn Any (see
::core::any::Any), that can be later
converted back to the original type with a graceful failing for all other
AsAny derive macro allows to implement this trait for
arbitrary time without much hussle:
Error derive macro works to the full extend only when other derive macros
are used. With
[display(doc_comments)] it uses
doc comments for generating error descriptions; with
may automatically implement transofrations from other error types.
From trait for the whole entity and/or its separate fields.
Works well with
#[derive(Error)] and, in many cases may require
Default implementation (for details, pls see Examples below)
Derives getter methods for structures. The return type and naming of the
methods depends on the provided attribute arguments.
Creates rust new type wrapping existing type. Can be used in sturctures
containing multiple named or unnamed fields; in this case the field you’d
like to wrap should be marked with
#[wrap] attribute; otherwise the first
field is assumed to be the wrapped one.