Add comment why we do this
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
This commit is contained in:
parent
fb8b50fa9a
commit
a3f771ca65
1 changed files with 11 additions and 1 deletions
|
@ -352,6 +352,16 @@ fn aggregate_module_settings(_matches: &ArgMatches, config: Option<&Value>)
|
||||||
use toml_query::read::Partial;
|
use toml_query::read::Partial;
|
||||||
use std::convert::TryInto;
|
use std::convert::TryInto;
|
||||||
|
|
||||||
|
//
|
||||||
|
// We define helper types here for deserializing easily using typed toml-query functionality.
|
||||||
|
//
|
||||||
|
// We need the helper types because we cannot deserialize in the target types directly, because
|
||||||
|
// of the `File(Arc<Mutex<::std::fs::File>>)` variant in `LogDestination`, which would
|
||||||
|
// technically possible to deserialize the toml into the type, but it might be a bad idea.
|
||||||
|
//
|
||||||
|
// This code is idomatic enough for the conversions, so it is not a big painpoint.
|
||||||
|
//
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug)]
|
#[derive(Serialize, Deserialize, Debug)]
|
||||||
struct LoggingModuleConfig {
|
struct LoggingModuleConfig {
|
||||||
pub destinations: Option<Vec<String>>,
|
pub destinations: Option<Vec<String>>,
|
||||||
|
@ -382,7 +392,7 @@ fn aggregate_module_settings(_matches: &ArgMatches, config: Option<&Value>)
|
||||||
Some(ds) => Some(ds
|
Some(ds) => Some(ds
|
||||||
.iter()
|
.iter()
|
||||||
.map(Deref::deref)
|
.map(Deref::deref)
|
||||||
.map(translate_destination)
|
.map(translate_destination) // This is why we do this whole thing
|
||||||
.collect::<Result<Vec<LogDestination>>>()?)
|
.collect::<Result<Vec<LogDestination>>>()?)
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue