Sobre el proyecto

asupersync es un runtime async para Rust diseñado en torno al principio de que la corrección debe ser estructural en lugar de imponerse en tiempo de ejecución. Proporciona una base para escribir código Rust asíncrono donde las propiedades de seguridad están integradas en el sistema de tipos y en el modelo de propiedad de tareas. Pilares de diseño clave: - Tareas con propiedad de región: Las tareas están vinculadas a regiones explícitas, lo que brinda a los desarrolladores un control fino sobre la vida útil de las tareas y previene fugas o referencias colgantes en contextos async. - Protocolos de cancelación correctos: La cancelación se maneja mediante protocolos que garantizan la limpieza, la liberación de recursos y la consistencia del estado incluso cuando las tareas se abortan a mitad de ejecución. Esto evita el problema clásico de Rust async de futuros cancelados que dejan efectos secundarios en un estado indefinido. - Efectos controlados por capacidades: Las operaciones que producen efectos observables están restringidas por tokens de capacidad. Solo el código que posee la capacidad adecuada puede realizar el efecto, haciendo que los efectos secundarios sean explícitos y auditables en tiempo de compilación. - Pruebas de reproducción determinista: El runtime admite la reproducción determinista, lo que permite que las pruebas registren y reproduzcan trazas de ejecución async. Esto hace que los errores de concurrencia no deterministas sean reproducibles y depurables. La biblioteca está dirigida a desarrolladores que construyen sistemas donde la corrección async es crítica, como servicios de infraestructura, sistemas concurrentes y aplicaciones sensibles a la seguridad, donde los runtimes async convencionales pueden permitir violaciones de corrección silenciosas. Se publica bajo la licencia MIT.