Como armazenar um closure em uma struct em Rust?
Olá! Comecei a estudar Rust e me deparei com um problema ao tentar armazenar um closure em uma struct. Tenho uma calculadora simples que deve executar diferentes operações dependendo do closure passado.\n\nAqui está o que estou tentando fazer:\n\n```rust\nstruct Calculator {\n operation: fn(i32, i32) -> i32,\n}\n\nfn main() {\n let add = |a, b| a + b;\n let calc = Calculator { operation: add };\n println!("Result: {}", (calc.operation)(5, 3));\n}\n```\n\nEste código funciona, mas apenas se eu passar uma função comum ou um closure que não captura variáveis do ambiente externo. Assim que tento usar um closure que captura variáveis, o compilador emite um erro. Por exemplo:\n\n```rust\nlet multiplier = 2;\nlet multiply = |a, b| a * b * multiplier;\nlet calc = Cal