fix: resolve stack overflow in meta plugin initialization by removing recursive calls
Co-authored-by: aider (openai/andrew/openrouter/anthropic/claude-sonnet-4) <aider@aider.chat>
This commit is contained in:
@@ -21,7 +21,8 @@ impl BinaryMetaPlugin {
|
|||||||
outputs: Option<std::collections::HashMap<String, serde_yaml::Value>>,
|
outputs: Option<std::collections::HashMap<String, serde_yaml::Value>>,
|
||||||
) -> BinaryMetaPlugin {
|
) -> BinaryMetaPlugin {
|
||||||
// Start with default options
|
// Start with default options
|
||||||
let mut final_options = Self::default().default_options();
|
let mut final_options = std::collections::HashMap::new();
|
||||||
|
final_options.insert("max_buffer_size".to_string(), serde_yaml::Value::Number(4096.into()));
|
||||||
if let Some(opts) = options {
|
if let Some(opts) = options {
|
||||||
for (key, value) in opts {
|
for (key, value) in opts {
|
||||||
final_options.insert(key, value);
|
final_options.insert(key, value);
|
||||||
@@ -30,7 +31,7 @@ impl BinaryMetaPlugin {
|
|||||||
|
|
||||||
// Start with default outputs
|
// Start with default outputs
|
||||||
let mut final_outputs = std::collections::HashMap::new();
|
let mut final_outputs = std::collections::HashMap::new();
|
||||||
let default_outputs = Self::default().default_outputs();
|
let default_outputs = vec!["binary".to_string()];
|
||||||
for output_name in default_outputs {
|
for output_name in default_outputs {
|
||||||
final_outputs.insert(output_name.clone(), serde_yaml::Value::String(output_name));
|
final_outputs.insert(output_name.clone(), serde_yaml::Value::String(output_name));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ impl DigestSha256MetaPlugin {
|
|||||||
|
|
||||||
// Start with default outputs
|
// Start with default outputs
|
||||||
let mut final_outputs = std::collections::HashMap::new();
|
let mut final_outputs = std::collections::HashMap::new();
|
||||||
let default_outputs = Self::default().default_outputs();
|
let default_outputs = vec!["digest_sha256".to_string()];
|
||||||
for output_name in default_outputs {
|
for output_name in default_outputs {
|
||||||
final_outputs.insert(output_name.clone(), serde_yaml::Value::String(output_name));
|
final_outputs.insert(output_name.clone(), serde_yaml::Value::String(output_name));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,8 @@ impl MagicFileMetaPlugin {
|
|||||||
outputs: Option<std::collections::HashMap<String, serde_yaml::Value>>,
|
outputs: Option<std::collections::HashMap<String, serde_yaml::Value>>,
|
||||||
) -> MagicFileMetaPlugin {
|
) -> MagicFileMetaPlugin {
|
||||||
// Start with default options
|
// Start with default options
|
||||||
let mut final_options = Self::new_simple().default_options();
|
let mut final_options = std::collections::HashMap::new();
|
||||||
|
final_options.insert("max_buffer_size".to_string(), serde_yaml::Value::Number(4096.into()));
|
||||||
if let Some(opts) = options {
|
if let Some(opts) = options {
|
||||||
for (key, value) in opts {
|
for (key, value) in opts {
|
||||||
final_options.insert(key, value);
|
final_options.insert(key, value);
|
||||||
@@ -31,7 +32,7 @@ impl MagicFileMetaPlugin {
|
|||||||
|
|
||||||
// Start with default outputs
|
// Start with default outputs
|
||||||
let mut final_outputs = std::collections::HashMap::new();
|
let mut final_outputs = std::collections::HashMap::new();
|
||||||
let default_outputs = Self::new_simple().default_outputs();
|
let default_outputs = vec!["mime_type".to_string(), "mime_encoding".to_string(), "file_type".to_string()];
|
||||||
for output_name in default_outputs {
|
for output_name in default_outputs {
|
||||||
final_outputs.insert(output_name.clone(), serde_yaml::Value::String(output_name));
|
final_outputs.insert(output_name.clone(), serde_yaml::Value::String(output_name));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ impl CwdMetaPlugin {
|
|||||||
|
|
||||||
// Start with default outputs
|
// Start with default outputs
|
||||||
let mut final_outputs = std::collections::HashMap::new();
|
let mut final_outputs = std::collections::HashMap::new();
|
||||||
let default_outputs = Self::default().default_outputs();
|
let default_outputs = vec!["cwd".to_string()];
|
||||||
for output_name in default_outputs {
|
for output_name in default_outputs {
|
||||||
final_outputs.insert(output_name.clone(), serde_yaml::Value::String(output_name));
|
final_outputs.insert(output_name.clone(), serde_yaml::Value::String(output_name));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user