#[derive(PersistSource)]
{
    // Attributes available to this derive:
    #[source]
}
Available on crate feature persist only.
Expand description

A derive macro helping implemente PersistSource trait.

Example

#[derive(Serialize, Deserialize)]
struct Foo(String);

// If feature `default_config_dir` is off:
#[derive(PersistSource)]
#[source(value(Foo), path("tests/persist.conf"), default([("key".to_owned(), Foo("value".to_owned()))]))]
struct SourceFoo;

// If feature `default_config_dir` is on:
#[derive(PersistSource)]
#[source(value(Foo), source_name("secret.conf"), default([("key".to_owned(), Foo("value".to_owned()))]))]
struct SourceFoo;