#[autoimpl]
Expand description
A variant of the standard derive
macro
See impl_tools::autoimpl
for full documentation.
The following traits are supported:
Path | ignore | using | notes |
---|---|---|---|
[::core::borrow::Borrow<T> ] | - | borrow target | T is type of target field |
[::core::borrow::BorrowMut<T> ] | - | borrow target | T is type of target field |
[::core::clone::Clone ] | yes | - | ignored fields use Default::default() |
[::core::cmp::Eq ] | * | - | *allowed with PartialEq |
[::core::cmp::Ord ] | yes | - | |
[::core::cmp::PartialEq ] | yes | - | |
[::core::cmp::PartialOrd ] | yes | - | |
[::core::convert::AsRef<T> ] | - | ref target | T is type of target field |
[::core::convert::AsMut<T> ] | - | ref target | T is type of target field |
[::core::default::Default ] | - | - | impl_default is a more flexible alternative |
[::core::fmt::Debug ] | yes | - | |
[::core::hash::Hash ] | yes | - | |
[::core::marker::Copy ] | * | - | *allowed with Clone |
[::core::ops::Deref ] | - | deref target | type Target is type of target field |
[::core::ops::DerefMut ] | - | deref target | type Target is type of target field |
::kas::classes::HasBool | - | deref target | |
::kas::classes::HasStr | - | deref target | |
::kas::classes::HasString | - | deref target | |
class_traits | - | deref target | implements each kas::class trait |
Examples
Implement all kas::class
trait over a wrapper type:
# use kas_macros::autoimpl;
#[autoimpl(class_traits using self.0 where T: trait)]
struct WrappingType<T>(T);