Esta semana en Rust #82
¡Hola y bienvenidos a otro número de This Week in Rust! Rust es un lenguaje de programación que permite a todos crear software confiable y eficiente. Este es un resumen semanal de su progreso y comunidad. ¿Quieres que se mencione algo? Etiquétanos en @thisweekinrust.bsky.social en Bluesky o @ThisWeekinRust en mastodon.social, o envíenos una solicitud de extracción. ¿Quieres participar? Nos encantan las contribuciones.
This Week in Rust se desarrolla abiertamente en GitHub y los archivos se pueden ver en this-week-in-rust.org. Si encuentra algún error en la edición de esta semana, envíe un PR.
¿Quieres TWIR en tu bandeja de entrada? Suscríbete aquí.
Actualizaciones de la comunidad de Rust 🥰
Boletines
Actualizaciones de proyectos/herramientas
- Presentación de Apache Fory™
- SeaORM 2.0: Flujo de trabajo de Entity First
- Rari v0.3.0: Marco React basado en Rust con SSR: 12 veces más rápido, 10 veces más rápido que Next.js
- Versión Burn 0.19.0: Cuantización, entrenamiento distribuido y backend LLVM
- Última versión alfa de Yelken e introducción a Yelken Cloud
- Capnproto 0.22 — métodos asíncronos
- Fyrox 1.0.0-rc.1
- Boa release v0.21
- Typst: Typst 0.14: Ahora accesible
- iroh-blobs 0.95
- Esta semana en Heave (2025.10.24)
Observaciones/Pensamientos
- Cláusulas de captura explícitas
- Capturas de cierre
- Cambios recientes de Rust
- Cómo Signal usa Rust para asegurar las comunicaciones de millones de personas
- A hard rain's a-gonna drop: decoding JSON in Rust
- Producto de trabajo GSoC '25: Expansión macro paralela
- Cuando O3 es 2 veces más lento que O2
- El concurso de gatos del registro de cambios de Clippy (rust), una breve retrospectiva
- [audio] Netstack.FM — Episodio 11 – Redes modernas en Firefox con Max Inden
- [audio] Novedades de Rust 1.81 a 1.84
Tutoriales de Rust
- Análisis de datos en Rust
- Cómo evitar luchar contra el verificador de préstamos de Rust
- Pruebas unitarias de Rust: simulacros y verificación flexible
- Construyendo un agente de codificación en Rust: Introducción
- Compactador de basura Teddy Bear
- Rust para ingenieros de JavaScript - Interactividad Connect-4
- Limpia tus anotaciones de por vida en Rust con Rc y Arc
- Validación de Vibe con Lean, ChatGPT-5, & Claude 4.5: Nueve reglas para demostrar que los algoritmos (Rust) son correctos sin conocer los métodos formales (Parte 2)
- [video] Ingeniería de backend de Rust Axum 0.8 | Hola mundo
- [video] Agente de codificación de construcción en Rust | Configuración del proyecto
Investigación
Crate de la semana
El crate de esta semana es tower-resilience, una biblioteca que ofrece funciones de resiliencia para la torre.
¡Gracias a Josh Rotenberg por la autosugestión!
Por favor, envíe sus sugerencias y votos para la próxima semana!
Convocatorias de 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 es un implementador de funciones y desea que su RFC aparezca en esta lista, agregue un 'llamada para pruebas' a su RFC junto con un comentario que proporcione instrucciones de prueba y / o orientación sobre qué aspectos de la función necesitan ser probados.
-
- No se emitieron llamadas para pruebas esta semana por Rust, Carga, RFC del lenguaje Rust o Oxidación.*
Háznoslo saber si desea que se realice un seguimiento de su función como parte de esta lista.
RFC
Rust
Rustup
Si es un implementador de funciones y desea que su RFC aparezca en la lista anterior, agregue la nueva 'llamada para pruebas' a su RFC junto con un comentario que proporcione instrucciones de prueba y / o orientación sobre qué aspecto (s) de la función necesitan pruebas.
Convocatoria de participación; Proyectos y ponentes
CFP - Proyectos
¿Siempre quiso contribuir a proyectos de código abierto pero no sabía por dónde empezar? ¡Cada semana destacamos algunas tareas de la comunidad de Rust para que las elijas y comiences!
Algunas de estas tareas también pueden tener mentores disponibles, visite la página de tareas para obtener más información.
Si eres propietario de un proyecto de Rust y estás buscando colaboradores, envía tareas aquí o a través de un PR a TWiR o comunicándote con Bluesky o Mastodon.
CFP - Eventos
¿Eres un orador nuevo o experimentado que busca un lugar para compartir algo genial? Esta sección destaca los eventos que se están planificando y están aceptando presentaciones para unirse a su evento como orador.
No se enviaron convocatorias de artículos o presentaciones esta semana.
Si usted es un organizador de eventos que espera expandir el alcance de su evento, envíe un enlace al sitio web a través de un PR to TWiR o comunicándose con Bluesky o Mastodon!
Actualizaciones del Proyecto Rust
Se fusionaron 463 solicitudes de extracción en la última semana]
Compilador
- '-Znext-solver' instanciar el enlazador de predicados sin recanonicalizar el objetivo
- 'hir_analysis': agregar límites de tamaño faltantes
- agregar tipos de patrones no nulos
- agregar una ruta rápida para reducir las constantes triviales (¡gran aceleración!)
- no extender la vida útil de los índices de matriz/segmento
- deduce 'captures(none)' para un lugar de retorno y parámetros
- privacidad: introducir algo de almacenamiento en caché para escribir la visita en 'DefIdVisitorSkeleton'
Biblioteca
- agregue 'FromIterator' impls for 'ascii::Char's a 'String's
- añadir 'Cadena::replace_first' y 'Cadena::replace_last'
- agregar nueva marca 'inherit_handles' al rasgo CommandExt
- métodos de celda const
- const 'select_unpredictable'
- crear la versión UTF-8 de 'OsStr'/'OsString'
Carga
- git: admite la búsqueda superficial para el backend de la CLI de Git
- hacer que las variables de finalización del shell sean privadas
Rustdoc
- Verifique 'doc (cfg ())' incluso de elementos privados / ocultos
- '--emit=depinfo' salida a stdout a través de '-'
Clippy
- 'manual_let_else': envolver expresiones que terminan en ''}''
- 'match_as_ref': sugerir 'as_ref' cuando sea necesario emitir la referencia
- 'needless_if': no expanda las invocaciones de macros en la sugerencia
- 'manual_option_as_slice': mejorar el diagnóstico
- 'match_as_ref': mejorar el diagnóstico
- 'unnecessary_{find,filter}_map': hacer que los intervalos de diagnóstico sean más precisos
- '{option,result}_map_unit_fn': corregir y limpiar pruebas, hacer sugerencias multilínea
- considerar las etiquetas de ASM en línea como ejecutadas condicionalmente
- corregir 'len_zero' falso positivo en métodos inestables
- posible ambigüedad de precedencia de pelusa entre el cierre y la llamada al método
Analizador de Rust
- agregar una API de configuración de extensión
- evite llamar a la consulta 'specializes()' en cajas que no definen '#! [característica(especialización)]'
- agregar ayuda para "Flip range expression"
- añadir la ayuda "Eliminar ramas 'else'"
- proporcionar una opción para no mostrar derivaciones cerca del ADT para "Goto Implementations" o "Implementations" codelens
- al cambiar el nombre de 'self' a otro nombre, cambie la sintaxis de llamada al método del método de los llamadores a la sintaxis de Assoc FN
- add '#[doc = include_str!(" ...")]' finalización
- agregar finalización de campos de registro abreviado
- agregar tipo de finalización de palabras clave
- complete 'else' en más expresiones
- complete 'let' antes de la expresión en 'if'
- considerar todas las coincidencias para flyimport incluso cuando se busca con un calificador
- comprobación de habitabilidad de la matriz fija
- corregir conversiones y usar API de árbol de sintaxis con tipo en 'convert_to_guarded_return'
- manejar 'if'-'let' en 'convert_to_guarded_return'
- manejar patrones de campo abreviados en 'destructure_tuple_binding'
- implementar 'Interno::impl_specializes()'
- mejorar la heurística entre paréntesis de finalización de campo
- mejorar el manejo de nombres faltantes en 'MethodCallExpr'
- mejorar el manejo de la macro 'env!'
- mejorar la heurística de la declaración incompleta
- Reduzca el bloqueo/cierre asíncrono correctamente
- ofrecer 'add_braces' en las tareas
- oferta 'invert_if' en 'else'
- coloque el nuevo módulo fuera del bloque 'impl' en 'extract_module'
- soporte 'let' cadenas en 'replace_is_method_with_if_let_method'
- reducir las asignaciones de 'client_commands' en la proto conversión
- eliminar 'hir-ty/src/next_solver/mapping.rs'
- tipo semántico para no lógico
Triaje de rendimiento del compilador de Rust
Semana mayormente negativa, proveniente casi en su totalidad de agregar límites de tamaño en #142712. Aparte de eso, obtuvimos una buena victoria para el código asíncrono de la optimización de transformación de estado en #147493 y bastantes mejoras más pequeñas de la optimización de codegen en #147890.
Triaje realizado por @panstromek. Rango de revisión: 4068bafe.. 23fced0f
Resumen:
| (instrucciones:U) | media | Gama | recuento |
|:----------------------------------:|:-----:|:---------------:|:-----:|
| Regresiones ❌
(primaria) | 0,7% | [0,2%, 3,7%] | 113 |
| Regresiones ❌
(secundaria) | 0,5% | [0,1%, 1,7%] | 75 |
| Mejoras ✅
(primaria) | -0,4% | [-0,7%, -0,2%] | 3 |
| Mejoras ✅
(secundario) | -2,3% | [-20,8%, -0,1%] | 30 |
| Todos ❌✅ (primarios) | 0,7% | [-0,7%, 3,7%] | 116 |
2 regresiones, 2 mejoras, 7 mixtas; 2 de ellos en rollups 42 comparaciones de artefactos realizadas en total
RFC 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.
Período de comentarios finales
Cada semana, el equipo anuncia el "período de comentarios finales" para RFC y PR clave que están llegando a una decisión. Expresa tus opiniones ahora.
Problemas de seguimiento y PRs
Rust
- FCW para enumeraciones repr(C) cuyos valores discriminantes no encajan en una c_int
- Problema de seguimiento para maybe_uninit_write_slice
- Agregar algunas implicaciones de rasgos de conversión
- Problema de seguimiento para 'Duración::from_nanos_u128'
- Problema de seguimiento para 'core_slice_as_array'.
- 'TryFrom<integer>' para 'bool'
- Problema de seguimiento para el segmento::array_windows
- Problema de seguimiento para '#! [característica(maybe_uninit_slice)]'
- Problema de seguimiento para 'lazy_get'
- agregar iterador::contiene
- Problema de seguimiento para métodos enteros no marcados inherentes
- Estabilizar la función de objetivo 'vectorial' s390x y la macro 'is_s390x_feature_detected!'
- Actualizar el paquete a 1.2.5
Equipo de compiladores (Solo MCP)
- Usar la manipulación v0 de forma predeterminada todas las noches
- Use 'annotate-snippets' como emisor predeterminado todas las noches
- Creación de un nuevo conjunto de pruebas de información de depuración mantenible
- Cambiar a v0 para símbolos que superan los caracteres de 64 KB en la información de depuración de PDB generada por destinos
- Promover 'riscv64a23-unknown-linux-gnu' al Nivel 2 sin herramientas de host
- Omitir sugerencias cuando los tramos se superponen
- Reemplace la cadena 'rustc_target::specTarget::arch' con enumeración
- Ejecutar las principales pruebas del analizador de Rust en rust-lang / rust CI
- Activar la ABI de desenrollado de emscripten-wasm-eh de forma predeterminada
- Objetivo Soporte de nivel 3 para hexagon-unknown-qurt
- Propuesta de un conjunto de pruebas específico para la interfaz paralela
- Dar un signo a los literales enteros en lugar de confiar en expresiones de negación
- Habilitar también volcados de archivos ICE en estable
- Nueva propuesta de objetivo de nivel 3: 'loongarch64-linux-android'
Consejo de Liderazgo
Ningún artículo entró en el período de comentarios finales esta semana para RFC de Rust, Carga, Equipo de idiomas, Referencia del idioma o Pautas de código inseguro.
Háganos saber si desea que se realice un seguimiento de sus PR, problemas de seguimiento o RFC como parte de esta lista.
RFC nuevos y actualizados
Próximos eventos
Rusty Eventos entre 2025-10-29 - 2025-11-26 🦀
Virtual
- 2025-10-29 | Virtual (Boulder, CO, EE. UU.) | Elixir de roca
- 2025-10-29 | Virtual (Cardiff, Reino Unido) | Rust y C++ Cardiff
- 2025-10-29 | Virtual (Tel Aviv-yafo, IL) | Rust 🦀 TLV
- 2025-10-29 | Virtual (Girona, ES) | Rust Girona | Silicio Girona
- 2025-11-01 | Virtual (Kampala, UG) | Encuentro del Círculo de Rust
- 2025-11-02 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-11-04 | Virtual (Beijing, CN) | WebAssembly y Rust Meetup (Wasm Empowering AI)
- 2025-11-05 | Virtual (Búfalo, Nueva York, EE. UU.) | Encuentro de Buffalo Rust
- 2025-11-05 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
- 2025-11-05 | Virtual | Laboratorios Ardan
- 2025-11-06 | Virtual (Berlín, Alemania) | Rust Berlin
- 2025-11-09 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-11-10 || BetterCode
- 2025-11-11 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-11-11 | Virtual (Londres, Reino Unido) | Mujeres en Rust
- 2025-11-12 | Virtual (Girona, ES) | Rust Girona | Silicio Girona
- 2025-11-13 | Virtual (Núremberg, DE) | Rust de Nuremberg
- 2025-11-16 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-11-18 | Virtual (Washington, DC, EE. UU.) | Rust DC
- 2025-11-19 | Virtual (Girona, ES) | Rust Girona | Silicio Girona
- 2025-11-19 | Virtual (Vancouver, BC, CA) | Rust de Vancouver
- 2025-11-20 | Virtual (Berlín, Alemania) | Rust Berlin
- 2025-11-20 | Virtual (Charlottesville, VA, EE. UU.) | Encuentro de Charlottesville Rust
- 2025-11-23 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-11-25 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-11-25 | Virtual (Londres, Reino Unido) | Mujeres en Rust
- 2025-11-26 | Virtual (Girona, ES) | Rust Girona | Silicio Girona
África
- 2025-11-11 | Johannesburgo, ZA | Reunión de Johannesburgo Rust
Asia
- 2025-11-15 | Bangalore, IN | Rust Bangalore
Europa
- 2025-10-29 | Dortmund, DE | Rust, Dortmund
- 2025-10-29 | Londres, Reino Unido | Grupo de usuarios de Rust London
- 2025-10-30 | Berlín, DE | Rust Berlin
- 2025-10-30 | Copenhague, Dinamarca | Comunidad de Copenhagen Rust
- 2025-10-30 | Praga, CZ | Rust Praga
- 2025-11-01 | Estocolmo, SE | Rust de Estocolmo
- 2025-11-02 - 2025-11-04 | Florencia, IT | Laboratorio de Rust 2025
- 2025-11-03 | Berna, CH | Gremio42
- 2025-11-04 | Manchester, Reino Unido | Rust Manchester
- 2025-11-04 | Trondheim, NO | Rust Trondheim
- 2025-11-05 | Girona, ES | Rust Girona | Silicio Girona
- 2025-11-05 | Oslo, NO | Rust Oslo
- 2025-11-05 | Oxford, Reino Unido | Encuentro de Oxford ACCU/Rust.
- 2025-11-06 | Gdansk, PL | Rust Gdansk
- 2025-11-06 | Viena, AT | Rust Viena
- 2025-11-11 | Londres, Reino Unido | Grupo de usuarios de Rust London
- 2025-11-12 | Cambridge, Reino Unido | Reunión de Cambridge Rust
- 2025-11-12 | Reading, Reino Unido | Taller de lectura de Rust
- 2025-11-13 | Ginebra, CH | Rust Ginebra
- 2025-11-13 | París, FR | Rust París
- 2025-11-18 | Leipzig, SN, DE | Rust - Programación de sistemas modernos en Leipzig
- 2025-11-20 | Aarhus, DK | Rust Aarhus
- 2025-11-20 | Lucerna, CH | [Rust de Lucerna]((https://www.meetup.com/rust-luzern/)
América del Norte
- 2025-10-29 | Nueva York, NY, EE. UU. | Rust NYC
- 2025-10-30 | Atlanta, GA, EE. UU. | Rust Atlanta
- 2025-10-30 | Mountain View, CA, EE. UU. | Dojo hacker
- 2025-11-01 | Boston, MA, EE. UU. | Reunión de Boston Rust
- 2025-11-06 | Saint Louis, MO, EE. UU. | STL Rust
- 2025-11-08 | Boston, MA, EE. UU. | Reunión de Boston Rust
- 2025-11-13 | Lehi, UT, EE. UU. | Rust de Utah
- 2025-11-18 | San Francisco, CA, EE. UU. | Grupo de Estudio de Roya de San Francisco
- 2025-11-20 | Seattle, WA, EE. UU. | Grupo de usuarios de Seattle Rust
- 2025-11-26 | Austin, TX, EE. UU. | Rust ATX
Oceanía
- 2025-10-29 | Barton, AC, AU | Grupo de usuarios de Canberra Rust
- 2025-11-11 | Christchurch, Nueva Zelanda | Grupo de encuentro de Christchurch Rust
América del Sur
- 2025-10-30 | Florianópolis, BR | Rust Brasil
Si está organizando un evento de Rust, agréguelo al calendario para obtener que se menciona aquí. Recuerde agregar un enlace al evento también. Envíe un correo electrónico al [Equipo de la comunidad de Rust][community] para obtener acceso.
Empleos
Por favor, vea el último hilo Who's Hiring en r/rust
Cita de la semana
Petición para agregar una palabra clave 'imprudente' en Rust
¡Gracias a llogiq por la sugerencia!
¡Por favor, envíe cotizaciones y vote para la próxima semana!
This Week in Rust es editado por: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, U007D, joelmarcey, mariannegoldin, bennyvasquez, bdillo
- El alojamiento de la lista de correo electrónico está patrocinado por The Rust Foundation*