Esta semana en Rust #109
¡Hola y bienvenidos a otro número de Esta Semana en Rust! Rust es un lenguaje de programación que permite a todos crear software fiable y eficiente. Este es un resumen semanal de su progreso y comunidad. ¿Quieres que se mencione algo? Etiquetanos en @thisweekinrust.bsky.social en Bluesky o @ThisWeekinRust en mastodon.social, o mándanos una solicitud de retirada. ¿Quieres participar? Nos encantan las contribuciones.
This Week in Rust está desarrollado abiertamente en GitHub y los archivos pueden consultarse en this-week-in-rust.org. Si encuentras algún error en el número de esta semana, por favor presenta un RP.
¿Quieres TWIR en tu bandeja de entrada? Suscríbete aquí.
Actualizaciones de la comunidad Rust
Fundación
Boletines
Actualizaciones de proyectos/herramientas
- Numax - Un entorno portátil de Rust para aplicaciones distribuidas
- Entroly 0.18.0: Motor de contexto de IA impulsado por Rust con aprendizaje por refuerzo PRISM, deduplicación SimHash y caché EGSC
- uFerris: Una tabla de aprendizaje versátil para Rust incrustado
- Propiedad del disco: ¿Cuál lado es el correcto?
- iroh 1.0.0-rc.0 - El primer candidato a lanzamiento
- Burn 0.21.0 Versión: hasta 8× menor sobrecarga del framework, colectivos diferenciables y kernels mejorados
- Ratty: Un emulador de terminal con gráficos 3D en línea
- Anunciando el tiempo de ejecución de Rust para las funciones Appwrite
- Anunciando diésel asincrónico 0.9
- Fresh 0.3.4: El tema 'terminal' nativo de Ansi coincide con el tema del sistema; UI para Live Grep + proveedores personalizados de grep; división persistente de 'muelle'; soporte para Verilog/VHDL; y mucho más
Observaciones/Pensamientos
- Matar una 'vaca' hizo que mi formatador JSON fuera un 42% más rápido
- Empezando con el Rust geoespacial — Qué satélites miden: bandas espectrales, índices, detección de nubes.
- [Lecciones aprendidas construyendo un perfilador de Rust de alto rendimiento (https://pawelurbanek.com/rust-performance-profiling)
- Los límites de Rust, o por qué probablemente no deberías seguir Amazon, Cloudflare y Discord
- El coste oculto de los canales mpsc
- Patch YAML "respetuoso" en Rust
Guías de Rust
- Aprende los genéricos y rasgos de Rust creando un mini juego de blackjack
- Crea un editor de texto completo desde cero | 0xKiire
- Donde el sol sigue brillando: el patrón proveedor
- Procesamiento Geoespacial de Extremo a Extremo con EORST — Construir una canalización de satélites en Rust: consulta STAC a GeoTIFF.
- Todas las formas de burlarse de tu código Rust
- Rust en el desarrollo de Android: Guía completa
Miscelánea
Crate de la semana
El crate de esta semana es cloakrs, una biblioteca y herramienta CLI para detectar y enmascarar información personal identificable.
A pesar de no tener ninguna sugerencia con la que trabajar, llogiq está satisfecho con su elección.
Por favor, enviad vuestras sugerencias y votos para la próxima semana!
Llama a pruebas
Un paso importante para la implementación de RFC es que las personas experimenten con el Implementación y dar retroalimentación, especialmente antes de la estabilización.
Si eres un implementador de funciones y quieres que tu RFC aparezca en esta lista, añade una Etiqueta de 'llamada para pruebas' a tu RFC junto con un comentario que ofrece instrucciones de prueba y/o orientación sobre qué aspecto(s) de la funcionalidad necesitan pruebas.
Esta semana no se emitieron llamadas para realizar pruebas por Rust, Carga, Ruído o RFCs en lenguaje oxidado.
Cuéntanos si quieres que tu característica se registre como parte de esta lista.
Llamado a la participación; Proyectos y ponentes
CFP - Proyectos
Siempre has querido contribuir a proyectos de código abierto pero no sabías por dónde empezar. Cada semana destacamos algunas tareas de la comunidad de Rust para que elijas y empieces.
Algunas de estas tareas también pueden tener mentores disponibles, visita la página de la tarea para más información.
Esta semana no se presentaron convocatorias para participar.
Si eres propietario de un proyecto Rust y buscas colaboradores, por favor envia tareas aquí o a través de un PR to TWiR o contactando en Bluesky o Mastodon!
CFP - Eventos
¿Eres un ponente nuevo o experimentado que busca un lugar para compartir algo interesante? Esta sección destaca eventos que se están organizando y que están aceptando propuestas para unirse a su evento como ponente.
- Computación Científica en Rust 2026| 2026-06-05 | Virtual | 2026-07-08 - 2026-07-10
Si eres un organizador de eventos que espera ampliar el alcance de tu evento, por favor envia un enlace a la web a través de un PR to TWiR o contactando en Bluesky o Mastodon!
Actualizaciones del Proyecto Rust
502 pull requests fueron [fusionadas en la última semana][fusionadas]
Compilador
- considera 'Resultado<T, Deshabitado>' y 'ControlFlow<Deshabitado, T>' equivalentes a 'T' para must use lint
- menos búsquedas globales de 'node_id_to_def_id'
- introducir expresiones de movimiento ('move($expr)')
- resolver: evaluar con entusiasmo las visibilidades privadas en computación de visualización eff
Biblioteca
- añadir 'Command::get_resolved_envs'
- añadir 'Drop::p in_drop' para las caídas clavadas
- añadir 'keepalive', 'set_keepalive' a las implementaciones de 'TcpStream'
- colocar ZSTs no mapeados en el array 'map'
- 'drop_glue' de los arrays simplemente desdimensionan y llaman a la versión slice
- implementado 'PathBuf::into_string'
Carga
- 'diag': Advertencia/conteo de error de diagnóstico de Rastreo de Carga como se hace en rustc
- sugiere 'fmt' cuando el usuario escribe 'cargo rustfmt'
- reconstruir cuando cambia la dependencia de -Zpublic
Clippy
- añadir nueva pelusa 'inline_trait_bounds'
- nueva pelusa: 'manual_clear'
- corregir 'manual_option_zip' falso positivo cuando se usa el parámetro exterior en el cierre
- incompatibilidad de 'non_canonical_clone_impl' y 'implicit_return'
Analizador de Rust
- añadir envolver en la lista de árbol con editor
- añadir diagnóstico para E0436
- añadir diagnóstico para E0529
- completo ':': en módulo def
- patrones de soporte para deref
- añadir espacios en blanco sobre la finalización del postfijo en la macro
- no inferir firmas, en su lugar inferir consts anónimos en ellas
- no sustituir los tipos de puntos de captura de cierre por errores si no se normalizan
- arreglar el manejo de 'yo' en 'lower_coroutine_body_with_moved_arguments()'
- arreglar oferta en no relacionada para 'toggle_macro_delimiter'
- generalmente fijar la resolución de ayuda en semántica
- en "Implementar miembros faltantes", no añadir tipos asociados con valores predeterminados
- no hay espacios añadidos en '.. =' en macro dentro de macro
- proporcionar un InferCtxt a TyLoweringContext
- proporcionar el mapa fuente para la vinculación reducida 'let self = self' en async fns
- coincidencia de referencia usa tipo unificado
- renombrar las variables mut eliminó 'mut' en los patrones generados por macro
- respetar atributos de pelusa para diagnósticos que no activan su nodo principal
- eliminar hacer mutar
Triaje de rendimiento del compilador Rust
Esta semana hubo un par de PRs que han afectado al nuevo solucionador de rasgos, que avanza de forma constante, En particular, #156139 fue una actuación enorme. Ganar. #156185 computación optimizada de visibilidad, resultando con hasta un 8% de victoria en la caja 'typenum'.
Triaje hecho por @Kobzol. Rango de revisión: 1d72d7e8.. aa31d6d8
Resumen:
| (instrucciones:u) | media | Rango | conde |
|:----------------------------------:|:------:|:---------------:|:-----:|
| Regresiones ❌
(primaria) | 0,3% | [0,1%, 0,4%] | 62 |
| Regresiones ❌
(secundario) | 0,5% | [0,1%, 1,5%] | 77 |
| Mejoras ✅
(primaria) | -1,7% | [-8,8%, -0,2%] | 18 |
| Mejoras ✅
(secundario) | -13,6% | [-85,6%, -0,0%] | 34 |
| Todos ❌✅ (primario) | -0,2% | [-8,8%, 0,4%] | 80 |
2 regresiones, 2 mejoras, 5 mixtas; 4 de ellos en rollups 31 comparaciones de artefactos realizadas en total
RFCs aprobados
Los cambios en Rust siguen el proceso de Rust RFC (solicitud de comentarios). Estos ¿Son los RFC que fueron aprobados para su implementación esta semana?
Periodo final de comentarios
Cada semana, el equipo anuncia el 'periodo final de comentarios' para los RFCs y PRs clave que están tomando una decisión. Expresa tus opiniones ahora.
Problemas de seguimiento y marcas personales
Rust
- pelusa en 'core::ffi::c_void' como tipo de retorno
- Problema de seguimiento para las notas de lanzamiento de #154647: cambiar 'c_double' a 'f32' en objetivos 'avr'
- Estabilizar '--remap-path-prefix' en rustdoc
- Sustituir la tabla de imprimibles por tablas 'unicode_data.rs'
- Problema de seguimiento para la RFC 2137: Soporte para definir funciones variádicas compatibles con C en Rust (c_variadic
- Problema de seguimiento para 'Path::is_empty'
- Problema de seguimiento para el formato entero en un búfer de tamaño fijo
- resolver: Convertir parcialmente la pelusa de 'ambiguous_glob_imports' en un error difícil
RFCs Rust
- Propone el concepto de un nombre de usuario crates.io para la identidad
- RFC de carga para la edad mínima de publicación
Referencia lingüística
Consejo de Liderazgo
Sin artículos inscritos en el Periodo de Comentarios Finales esta semana para Carga, Equipo de compilación (solo MCPs), Equipo de Lenguaje o Directrices del Código de Peligro. Háznos saber si desea que sus registros permanentes, problemas de seguimiento o RFCs sean registrados como parte de esta lista.
RFCs nuevos y actualizados
- No se crearon RFC nuevos ni actualizados esta semana.
Próximos eventos
Eventos Rusty entre el 13-05-2026 - el 10-06-2026 🦀
Virtual
- 2026-05-17 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-05-19 | Virtual (Washington, DC, EE. UU.) | Oxidación DC
- 2026-05-20 | Híbrido (Vancouver, BC, CA) | Rust de Vancouver
- 2026-05-20 | Virtual (Girona, ES) | Rust Girona
- 2026-05-21 | Híbrido (Seattle, WA, EE. UU.) Grupo de usuarios Seattle Rust
- 2026-05-21 | Virtual (Berlín, DE) | Berlín Oxidado
- 2026-05-21 | Virtual (Charlottesville, VA, EE. UU.) | Encuentro de Charlottesville Rust
- 2026-05-26 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-05-26 | Virtual (Londres, Reino Unido) | Mujeres con Rust
- 2026-05-27 | Virtual (Girona, ES) | Rust Girona
- 2026-06-03 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
- 2026-06-04 | Virtual (Berlín, DE) | Berlín Oxidado
- 2026-06-04 | Virtual (Núremberg, DE) | Núremberg de Oxid
- 2026-06-07 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-06-09 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-06-10 | Virtual (Girona, ES) | Rust Girona
Asia
- 2026-05-13 | Malasia, MI | Rust Meetup Malasia
- 2026-05-14 | Seúl, KR | Seoul Rust (lenguaje de programación) Meetup
- 2026-05-16 | Bangalore, IN | Rust Bangalore
- 2026-06-02 | Pekín, CN | Voice AI y Rust Meetup (Rust for AI, lowcoderust.com)
Europa
- 2026-05-13 | Girona, ES | Rust Girona
- 2026-05-14 | Suiza, CH | Después de TenebrasLab
- 2026-05-18 - 2026-05-23 | Utrecht, NL | RustWeek 2026
- 2026-05-18 | Milano, MI, IT | Milán en lengua oxidada
- 2026-05-19 | Aarhus, DK | Rust Aarhus
- 2026-05-19 | Ámsterdam, NL | RustNL
- 2026-05-19 | Leipzig, DE | Rust - Programación de sistemas modernos en Leipzig
- 2026-05-19 | Londres, Reino Unido | Mujeres con Rust
- 2026-05-21 | Ámsterdam, NL | RustNL
- 2026-05-22 | Ámsterdam, NL | RustNL
- 2026-05-26 | Dortmund, DE | Dortmund Oxidado
- 2026-05-26 | Manchester, Reino Unido | Manchester Rust
- 2026-05-29 | Berlín, DE | Berlín Oxidado
- 2026-06-03 | Dublín, IE | Rust Dublin
Norteamérica
- 2026-05-14 | Lehi, UT, EE. UU. Utah Rust
- 2026-05-14 | Mountain View, CA, EE. UU. | Dojo Hacker
- 2026-05-14 | Portland, OR, EE. UU. PDXRust
- 2026-05-14 | San Diego, CA, EE. UU. San Diego Rust
- 2026-05-16 | Boston, MA, EE. UU. Encuentro de Boston Rust
- 2026-05-19 | San Francisco, CA, EE. UU. Grupo de Estudio sobre el Rust de San Francisco
- 2026-05-20 | Híbrido (Vancouver, BC, CA) | Rust de Vancouver
- 2026-05-20 | San Francisco, CA, EE. UU. Encuentro de Rust en el Área de la Bahía
- 2026-05-21 | Híbrido (Seattle, WA, EE. UU.) Grupo de usuarios Seattle Rust
- 2026-05-21 | Nashville, TN, EE. UU. | Desarrolladores de Music City Rust
- 2026-05-23 | Boston, MA, EE. UU. Encuentro de Boston Rust
- 2026-05-27 | Austin, TX, EE. UU. | ATX de Rust
- 2026-05-28 | Atlanta, GA, EE. UU. Rust Atlanta
- 2026-05-28 | Los Ángeles, CA, EE. UU. | Rust Los Ángeles
- 30-05-2026 | Boston, MA, EE. UU. Encuentro de Boston Rust
- 2026-06-04 | Saint Louis, MO, EE. UU. STL Rust
- 2026-06-06 | Boston, MA, EE. UU. Encuentro de Boston Rust
Oceanía
- 2026-05-14 | Melbourne, AU | Rust Melbourne
- 2026-05-26 | Barton, ACT, AU | Grupo de usuarios de Canberra Rust
Sudamérica
- 2026-05-13 | Montevideo, UY | Rust Meetup Uruguay
Si organizas un evento de Rust, por favor añádelo al calendario para obtener Lo menciona aquí. Por favor, recuerda añadir también un enlace al evento. Envía un correo electrónico al [Rust Community Team][community] para acceder a la información.
Trabajos
Por favor, consulta el último hilo de Quién contrata en r/rust
Cita de la semana
De las últimas 150 PRs fusionadas con Bun, 108 son próximas a la seguridad de la memoria — limpieza fallida en una ruta de error, uso después de liberar, lecturas no inicializadas, acceso fuera de límites, reentrancia. 75 de esos no se compilarían en un lenguaje con destructores, semántica de movimiento y un verificador de préstamo. Uno de cada tres PRs que enviamos es "olvidó liberar algo en una ruta de error."
De los 108, ~88 están en Zig. Los ~14 en C++ son principalmente ciclos de referencia y razas de concurrencia GC — la clase residual que sobrevive a cualquier lenguaje. Así que la diferencia de Zig→Rust es real: los bugs de Zig son exactamente del tipo destructor o reparable por la propiedad, y el lado de C++ ya está cerca del suelo.
Sin garantías de tiempo de compilación más sólidas, esto sigue siendo un juego de gato y ratón. La propuesta es eliminar la mayor clase de error estructuralmente en lugar de corregir instancias indefinidamente de ella.
– Jarred Sumner en el bun github ¡Gracias a Brian Kung por la sugerencia!
¡Por favor, enviad citas y votad para la semana que viene!
Esta semana en el Rust está editado por:
- Nellshamrell
- llogiq
- ericseppanen
- extrawurst
- U007D
- Marianne Goldin
- bdillo
- opeolluwa
- bnchi
- KannanPalani57
- tzilista
El alojamiento de la lista de correo está patrocinado por The Rust Foundation