diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs index 762f18fb32f..6e8471b1de7 100644 --- a/src/bootstrap/config.rs +++ b/src/bootstrap/config.rs @@ -731,7 +731,11 @@ impl Config { let contents = t!(fs::read_to_string(file), format!("config file {} not found", file.display())); - match toml::from_str(&contents) { + // Deserialize to Value and then TomlConfig to prevent the Deserialize impl of + // TomlConfig and sub types to be monomorphized 5x by toml. + match toml::from_str(&contents) + .and_then(|table: toml::Value| TomlConfig::deserialize(table)) + { Ok(table) => table, Err(err) => { println!("failed to parse TOML configuration '{}': {}", file.display(), err);