Avatar ·

Como especificar que um campo de struct deve implementar uma trait em Rust?

Olá a todos! Estou escrevendo em Rust recentemente e tive um problema com traits. Quero criar uma struct que armazena algum valor, e esse valor deve obrigatoriamente implementar uma trait específica. Por exemplo, estou escrevendo uma calculadora simples, onde há uma trait `Operation` com um método `compute`. Quero que a struct `Calculator` tenha um campo `operation`, que pode ser qualquer struct que implemente essa trait. Aqui está o que estou tentando fazer: ```rust trait Operation { fn compute(&self, a: i32, b: i32) -> i32; } struct Calculator { operation: Operation, // Erro: trait objects must include the `dyn` keyword } fn main() { let add = AddOperation; let calc = Calculator { operation: add }; println!("{}", calc.operation.compute(5, 3)); } ``` O compilador