Crate inter_struct
source · [−]Expand description
Inter-struct provides various derive macros to implement traits between arbitrary structs.
The current available derive
macros are:
StructMerge
StructMergeRef
StructInto
StructDefault
The general way to use such a derive macro is like this:
#[derive(StructInto)]
#[struct_into(["crate::path_to::TargetStruct"])]
pub struct Test {
pub test: String,
}
This example generates an impl Into<TargetStruct> for Test
, which converts Test
into some TargetStruct
.
Note that the target struct’s paths has to be
- contained in this crate.
- relative to the current crate.
Either a single path or a list of paths can be specified. The traits will then be implemented for each given target struct.
#[struct_into("crate::path_to::TargetStruct")]
// or
#[struct_into(["crate::path_to::TargetStruct", "crate::path_to::AnotherTargetStruct"])]
Each derive macro can have their own options, so please check the individual docs for each derive macro in this crate.
Modules
Derive Macros
Implement the Into
trait on this struct.
Implement the Into
trait on this struct with Default::default
for missing fields.
Implement the StructMerge
trait on this struct.
Implement the StructMergeRef
trait on this struct.