Módulo: Rust avanzado
Este módulo forma parte del curso de Rust. .
Este módulo aborda las características más avanzadas de Rust: el código unsafe, la interoperabilidad con otros lenguajes y las novedades de la edición 2024, que representa la evolución más reciente del lenguaje.
Unsafe Rust
El bloque unsafe permite cinco capacidades que el compilador no puede verificar automáticamente: desreferenciar punteros crudos (*const T y *mut T), llamar a funciones unsafe, acceder a variables estáticas mutables, implementar traits unsafe y acceder a campos de unions. La filosofía es minimizar la superficie de unsafe y encapsularla en abstracciones con una API pública segura, documentando los invariantes que el código unsafe asume.
FFI: interoperabilidad con C
La Foreign Function Interface permite llamar a código C desde Rust y exponer funciones Rust a C. Se usa el bloque extern "C" para declarar funciones externas y el atributo #[no_mangle] para preservar los nombres de función al exportar. La crate libc facilita el acceso a tipos y funciones de la librería C estándar.
Edición Rust 2024
La edición 2024 introduce mejoras significativas al lenguaje sin romper compatibilidad. Las más destacadas son: async fn en traits de forma nativa (sin necesidad de la crate async-trait), Return Position Impl Trait en traits para devolver tipos opacos, gen blocks para crear iteradores de forma imperativa con yield, mejoras adicionales en el borrow checker para eliminar restricciones falsamente positivas, y la reserva de gen como palabra clave. La migración se realiza con cargo fix --edition.
Otros módulos de este curso
Todos los módulos del curso
Navega entre los módulos de Rust
Explora más sobre Rust
Descubre más recursos de Rust
Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Rust es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.