Esta semana en Rust #117
¡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
Oficial
Boletines
Actualizaciones de proyectos/herramientas
- copper-rs v1.0.0: el sistema operativo de robótica determinista de código abierto es ahora estable.
- Rayfish: Tu propia red privada. Sin servidores, sin configuración.
- kache 0.9.0: endurecimiento de la cadena de suministro + caché CI de solo lectura
- GuardianDB - PostgreSQL y P2P/Local-First juntos
- Nectar: un lenguaje similar a Rust que compila toda tu aplicación web a WebAssembly
- logdrain: Minería rápida e incrustable de plantillas logarítmicas en Rust
- funda: Empaquetando el vídeo del mundo en Rust puro
- Wickra: Indicadores técnicos de streaming-first
- Xcelerator Solver v0.1.0 -- regresión simbólica determinista
- DLT-TUI 1.1.0 - un visor rápido de TUI para archivos DLT automotrices (AUTOSAR Diagnostic Log and Trace)
- RSSH v0.2.11 — flujos de trabajo de terminal, importación de claves SSH más segura y operaciones de IA observables
- k8s-scale-app-rs: Escalar o reiniciar un despliegue de Kubernetes desde un CronJob
- Actualización v0.5.0-rc1
- FlareDB: Una base de datos nativa de streaming Apache Beam integrada en Rust
- MQTT-typed-client 0.2: un cliente asíncrono MQTT seguro para tipos en rumqttc
- RootAsRole: v4.0.0 Lanzamiento principal, ejecución segura, nuevo logo
- Un marco de interfaz de usuario Rust multiplataforma mediante la tecnología puente de Qt
- Lenguaje de programación Jam Planning
- Sōzu 2.1.0: Balanceo de carga UDP para el borde programable
- b0nker: un tiempo de ejecución mínimo de contenedor escrito en Rust
Observaciones/Pensamientos
- [vídeo] Reunión de Rust Berlin 25/06/2026 Transmisión en directo
- [vídeo] ¿Cómo se reescriben proyectos en C/C++ para Rust? – Entrevista de JetBrains con Luca Palmieri, Mainmatter
- Investigando por qué RustCrypto es lento: Análisis profundo de las instrucciones SIMD y la aceleración por hardware
- Bool como U32
- Una cadena de verificación de Rust-to-Lean con pruebas de IA: Un informe de experiencia
- Trabajo en Progreso Oxidado
- [vídeo] OpenAI acaba de gastar 600.000 dólares en Rust
- [audio] Rising Adecemies con Dylan Brown - Podcast Rust in Production
Guías de Rust
- [serie] Tutorial de Bevy: Crea tu primer editor 3D - Crea un espacio 3D en una cuadrícula infinita
- Aprende los conceptos básicos y el enrutamiento de Axum construyendo un acortador de URL
- [serie] Rama 101.1: Clientes HTTPS y capas de abstracción
Miscelánea
Crate de la semana
El crate de esta semana es apis-saltans, una implementación en Zigbee que incluye una API coordinadora.
¡Gracias a Richard Neumann por la autosugerencia!
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.
- Protocolo - Extender pruebas de exactitud de bits a objetivos de reconstrucción f64
- Dofigen - No hay bandera de reemplazo de etiqueta de imagen para el comando generar
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.
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
598 solicitudes de extracción fueron [fusionadas en la última semana][fusionadas]
Compilador
- activar la norma 'param_env' de eager en el nuevo solver
- pelusa en 'core::ffi::c_void' como tipo de retorno
- pulir algo de código de macro analizable
- resolver: no asignar en 'resolve_ident_in(_local)module*'
- simplificar opción-iterador aplanando en el compilador
- estabilizar '#[my_macro] mod foo;' (parte de 'proc_macro_hygiene')
Biblioteca
- añadir 'std::io::cursor::WriteThroughCursor'
- implementa 'Box::as_non_null()'
- implementa 'DoubleEndedIterator::next_chunk_back'
- implementa 'IntoIterator' para '[&[mut]] Box<[T; N], A>'
- implementa 'ptr::{read,write}_unaligned' mediante 'repr(packed)'
- mueve 'SizeHint' y 'IoHandle' a 'core::io'
- mueve 'std::io::Seek' a 'core::io'
- optimizar 'ArrayChunks::try_rfold' con 'DoubleEndedIterator::next_chunk_back'
- estabilizar 'característica(atomic_from_mut)'
Carga
- 'bindeps': registros de objetivos de artefacto transitivos
- evitar clonar el manifiesto TOML analizado en 'ManifestErrorContext'
- evitar clon extra del manifiesto TOML analizado
- eliminar clonación innecesaria al analizar el índice de paquetes
- cambiar HashMaps y HashSets en Cargo para usar Fxhasher
- no pases banderas de Rust de pelusa cuando '--cap-lints=permite' está activado
- corregido 'Compilación::d eps_output' tomando solo la última dep
- preasignar algunos vectores
- estabilizar el layout 'build-dir' v2
- usar un conjunto al comprobar los miembros del espacio de trabajo visitados
Rustdoc
- corregir el fallo al intentar inlinear un elemento extranjero que no puede tener atributos
- mostrar rutas de sitio de uso para longitudes de arreglos const no evaluadas
Clippy
- 'chunks_exact_to_as_chunks': No reportes expresiones con parámetros const
- 'chunks_exact_to_as_chunks': No reportes expresiones con parámetros de tipo
- 'missing_trait_methods': MSRV/conciencia inestable
- 'vec_init_then_push': no empujes pelusa de una expansión macro
- 'inline_modules': ignorar módulos 'cfg(test)' en compilaciones de prueba
- 'match_same_arms': mantén expectativas a nivel de brazo trabajando por debajo de un permiso externo
- 'unnecessary_operation': evitar malas sugerencias '!'
- 'unnecessary_unwrap_unchecked': no se active dentro del '_unchecked' fn
- añadir paréntesis obligatorios cuando la sugerencia 'needless_bool' es un operando
- arreglar ICE al resolver local en 'unnecessary_unwrap_unchecked'
- corregir 'infinite_loop' falsos positivos dentro de bloques gens
- sugerencia de corregir 'manual_c_str_literals' cuando se escapa la barra posterior hacia atrás
- corregir 'strlen_on_c_strings' lógica incorrecta de sugerencias
- corregir duplicaciones de 'suspicious_operation_groupings'
- ancho de bit de pelusa
- optimizar llamadas 'Msrv::meets'
- salto de los escaneos de pelusa unicode cuando el fragmento es ASCII puro
- saltarse el recorrido de los padres HIR en 'is_in_test_function' cuando no hay elementos de prueba
- colocar el bloque impl generado después del bloque impl existente
- refactorizar el pase de pelusa 'StringAdd'
- refactorización 'suspicious_xor_used_as_pow'
- eliminar 'lower_ty' de 'uninhabited_reference'
- respetar el MSRV configur manual_is_variant_and ado en 'mapa() == reescritura de algunos(_)
- reescribir 'mut_mut'
- reescribir 'redundant_else' como un pase tardío
- reescritura de 'tuple_array_conversions'
Analizador de Rust
- SCIP: excluir trivial de inicio/final en los rangos de definición
- SCIP: eliminar campo 'inlay_hints' muerto
- 'feat(ide-diagnostics)': añadir diagnósticos para patrones de unión inválidos (E0784)
- 'internal(query-group-macro)': eliminar la prueba de aridad
- método añadir la parte superior del árbol al nodo Sintaxis
- añadir controlador para E0627
- soporta múltiples brazos para 'replace_match_with_if_let'
- corregir UB en casos de prueba 'smol_str borsh_non_utf8'
- corregir parámetro genérico para 'generate_default_from_enum_variant'
- archivo 'walkthrough_create_project' no empaquetado
- fallo de aserción al cerrar con función no vinculada
- evitar el pánico en 'convert_tuple_struct_to_named_struct' sobre el uso de patrones anidados
- sintaxis de configuración para nvim-lsp
- resolución correcta de valor cuando comparte el mismo nombre que el tipo
- excluir impls en el tipo de error de la enumeración impl
- corrección de bloqueo en 'extract_variable' al seleccionar llamada de macro no resuelta
- corregir el cierre al completar dentro de macros
- arreglar la gestión de parámetros de corutinas fns
- manejar más casos de CFGs en la reducción del almacenamiento de expansión
- no generar con el elemento asociado por defecto
- entra en pánico en 'unwrap_return_type', 'remove_underscore' y 'promote_local_to_const'
- colección de segmentos de calificadores de atributos de elevación
- reducir asignación conjunta de tokens del analizador
- proyecto-modelo: no pasar args extra de metadatos a sysroot
- modelo-proyecto: introduce cargo.configPath
- proporcionar tiempo de arranque para preparar el punto de registro y el benchmark asociado
Triaje de rendimiento del compilador Rust
Esta semana estuvo dominada por oscilaciones bruscas en los benchmarks del nuevo solucionador, que aún no está activado por defecto. Aparte de eso, tuvimos muy pocos cambios notables, solo una aceleración inesperada por una corrección de errores en rustdoc.
Triaje hecho por @panstromek. Rango de revisión: 7dc2c162.. 3659db0d
Resumen:
| (instrucciones:u) | media | Rango | conde |
|:----------------------------------:|:------:|:---------------:|:-----:|
| Regresiones ❌
(primaria) | 0,2% | [0,2%, 0,2%] | 3 |
| Regresiones ❌
(secundario) | 162,1% | [0,2%, 1116,3%] | 20 |
| Mejoras ✅
(primaria) | -1,4% | [-8,4%, -0,1%] | 7 |
| Mejoras ✅
(secundario) | -1,1% | [-8,4%, -0,1%] | 11 |
| Todos ❌✅ (primario) | -0,9% | [-8,4%, 0,2%] | 10 |
1 regresión, 1 mejora, 4 mixta; 3 de ellos en rollups 17 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?
- No se aprobaron RFC 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 contra definiciones inválidas de símbolos POSIX
- Garantías de diseño de documentos NonNull
- Problema de seguimiento para 'slice_split_once'
Equipo de compiladores (solo MCPs)
- Deja que el sistema operativo gestione el crecimiento de la pila
- Añadir 'target_feature_available_at_call_site'
Referencia lingüística
Sin artículos inscritos en el Periodo de Comentarios Finales esta semana para Carga, Equipo de Lenguaje, Consejo de Liderazgo, RFCs de Rust o Directrices del Código de Peligro.
RFCs nuevos y actualizados
- Actualizar plantilla RFC
- RFC: Almacenar tokens del registro en el almacén de credenciales del sistema operativo por defecto
Próximos eventos
Eventos Rusty entre el 8-07-2026 - el 05-08-2026 🦀
Virtual
- 2026-07-08 | Virtual (Cardiff, GB) | Rust y C++ Cardiff
- 2026-07-08 | Virtual (Girona, ES) | Rust Girona
- 2026-07-09 | Virtual (Núremberg, DE) | Núremberg de Oxid
- 2026-07-14 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-07-15 | Virtual (Girona, ES) | Rust Girona
- 2026-07-15 | Híbrido (Vancouver, BC, CA) | Rust de Vancouver
- 2026-07-16 | Híbrido (Seattle, WA, EE. UU.) Grupo de usuarios Seattle Rust
- 2026-07-16 | Virtual (Berlín, DE) | Berlín Oxidado
- 2026-07-19 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-07-21 | Virtual (Londres, Reino Unido) | Mujeres con Rust
- 2026-07-21 | Virtual (Washington, DC, EE. UU.) | Oxidación DC
- 222-07-2026 | Virtual (Girona, ES) | Rust Girona
- 2026-07-28 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-07-29 | Virtual (Girona, ES) | Rust Girona
- 30-07-2026 | Virtual (Berlín, DE) | Berlín Oxidado
- 2026-08-02 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-08-04 | Virtual (Londres, GB) | Mujeres con Rust
- 2026-07-29 | Virtual (Girona, ES) | Rust Girona
- 2026-08-05 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
Asia
- 2026-07-18 | Bangalore, IN | Rust Bangalore
África:
- 2026-07-14 | Johannesburgo, ZA | Encuentro de Johannesburgo Rust
Europa
- 2026-07-08 | Dublín, IE | Rust Dublin
- 2026-07-09 | Berlín, DE | Berlín Oxidado
- 2026-07-09 | Frankfurt, DE | Rust Rhein-Main
- 2026-07-09 | Suiza, CH | Después de TenebrasLab
- 2026-07-15 | Dortmund, DE | Dortmund Oxidado
- 2026-07-21 | Leipzig, DE | Rust - Programación de sistemas modernos en Leipzig
- 2026-07-23 | Berlín, DE | Berlín Oxidado
- 2026-07-23 | Londres, Reino Unido | Grupo del Proyecto Rust de Londres
- 2026-07-23 | París, FR | París Rust
- 30-07-2026 | Manchester, GB | Manchester Rust
Norteamérica
- 2026-07-09 | Lehi, UT, EE. UU. Utah Rust
- 2026-07-09 | Mountain View, CA, EE. UU. | Dojo Hacker
- 2026-07-11 | Boston, MA, EE. UU. Encuentro de Boston Rust
- 2026-07-15 | Híbrido (Vancouver, BC, CA) | Rust de Vancouver
- 2026-07-16 | Híbrido (Seattle, WA, EE. UU.) Grupo de usuarios Seattle Rust
- 2026-07-18 | Boston, MA, EE. UU. Encuentro de Boston Rust
- 2026-07-21 | San Francisco, CA, EE. UU. Grupo de Estudio sobre el Rust de San Francisco
- 222-07-2026 | Austin, TX, EE. UU. | ATX de Rust
- 222-07-2026 | Los Ángeles, CA, EE. UU. | Rust Los Ángeles
- 2026-07-25 | Boston, MA, EE. UU. Encuentro de Boston Rust
- 2026-07-25 | Brooklyn, NY, EE. UU. | Flor
- 30-07-2026 | Atlanta, GA, EE. UU. Rust Atlanta
- 2026-08-01 | Boston, MA, EE. UU. Encuentro de Boston Rust
- 2026-08-04 | Boston, MA, EE. UU. Encuentro de Boston Rust
Oceanía
- 2026-07-09 | Brisbane City, QL, AU | Rust Brisbane
- 2026-07-21 | Barton, AU | Grupo de usuarios de Canberra Rust
- 2026-07-23 | Perth, AU | Grupo de encuentro de Rust Perth
- 30-07-2026 | Melbourne, AU | Rust Melbourne
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
si un PTR es desreferenciado en un bosque y nadie lo oye, ¿es correcto?
– Kornel sobre usuarios de Rust
¡Gracias a Cerber-Ursi 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