Limitaciones de la macro `#[derive]` de Rust y soluciones alternativas
2025-07-08
La macro `#[derive]` de Rust, al generar implementaciones para traits como `Clone`, requiere que todos los parámetros genéricos también implementen `Clone`. Esto limita su aplicabilidad. El artículo analiza dos ejemplos que muestran por qué esta restricción impide que el código se compile. El autor propone dos soluciones: enviar un RFC para cambiar el comportamiento del compilador y escribir una macro personalizada para solucionar la limitación. El autor opta por la segunda opción, planeando implementar macros `derive` más flexibles en el crate `derive_more` o en un crate propio para resolver este problema.
(rgbcu.be)
Desarrollo