macro_rules! derive_deftly_template_Flattenable {
    (
        { $($driver:tt)* } [$($aoptions:tt)*] { $($future:tt)* }
        $($tpassthrough:tt)*
    ) => { ... };
    ([$chain0:path, $($chains:path,)*] [$($accum:tt)*] $($passthrough:tt)*) => { ... };
    ($($wrong:tt)*) => { ... };
}
Expand description

Derives Flattenable for a struct

§Limitations

Some serde attributes might not be supported. For example, ones which make the type no longer deserialize as a named fields struct. This will be detected by a macro-generated always-failing test case.

Most serde attributes (eg field renaming and ignoring) will be fine.

§Example

use serde::{Serialize, Deserialize};
use derive_deftly::Deftly;
use tor_config::derive_deftly_template_Flattenable;

#[derive(Serialize, Deserialize, Debug, Deftly)]
#[derive_deftly(Flattenable)]
struct A {
    a: i32,
}

This is a derive_deftly template. Do not invoke it directly. To use it, write: #[derive(Deftly)] #[derive_deftly(Flattenable)].