Esta semana en Rust #122
¡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
Fundación
- Cumbre de Salud del Equipo Rust: 8 de septiembre en Montreal
- Poniéndose al día con el equipo de contenido de Rust: entrevistas de RustWeek y una nueva serie de registros
Boletines
Actualizaciones de proyectos/herramientas
Estamos realizando cambios en la sección de Actualizaciones de Proyectos/Herramientas - véase aquí para más detalles
- Sexto cumpleaños de Bevy
- fearless_simd v0.7: enteros de 64 bits, genéricos mejorados, SSE2 y próximas versiones 1.0
- vairedb 0.1.0 - Base de datos analítica distribuida nativa en la nube
- OXVG 0.0.7: introducción de un transformador SVG a JSX en la cadena de herramientas OXVG
- HTML, JavaScript, CSS deberían haber muerto hace tiempo
- Verificación aún más formal para BPF
- Kache 0.14.0: restauraciones depurables y convergencia entre clones
- kobe 0.39.0: endurecimiento del ciclo de vida del arrendamiento de clúster
- renovar 0.1.1: un motor de juego determinista y basado en el código
- GRIT 1.1: comprueba tus tensores cuantizados
- floDl: Introducción a soporte para GPU AMD
- git-cache-proxy: caché de solo lectura para git
Observaciones/Pensamientos
- Una visión para la carga
- Implementaciones de rasgos cílicos: motivación
- SIMD de Rust en la GPU
- Reescritura en Rust: Rendimiento, Fracasos, Reality Check 2026
- RangeFrom, Parte 1..: Historia y antecedentes
- Conversaciones mecanografiadas: Hacen que los diálogos de agentes ilegales sean irrepresentables
- ECQV: certificados implícitos, y por qué los dejé fuera del proyecto que los motivó
- Apretones de manos TLS: Medición del rendimiento de 4 bibliotecas de criptografía
- Construcción de servicios backend escalables con Rust y PostgreSQL
- PoC para la suite de pruebas HAL de hardware en el bucle universal — Tweede golf
- [vídeo] FLOSS 878 - Una herramienta con opiniones
Guías de Rust
- Arcos descendentes en Rust
- Perfilando Rust con hotpath-rs: La guía completa - De consultas SQL a muestreo de CPU
- Una arquitectura independiente de chip para Rust incrustado en bare-metal
Investigación
Miscelánea
Crate de la semana
El crate de esta semana es literator, una caja para mostrar eficientemente los objetos de un iterador sin asignaciones temporales.
¡Gracias a Nora por la sugerencia!
[Por favor, enviad vuestras sugerencias y votos para la próxima semana] submit_crate!
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 lengua oxidada.
Haznos saber si quieres que tu reportaje se registre como parte de esta lista.
Llamamiento 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.
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
698 pull requests fueron [fusionadas en la última semana][fusionadas]
Compilador
- consulta el mapa de reserva antes de poner en cola el hijo en la búsqueda 'visible_parent_map' en amplitud
- activar Polonius Alpha cada noche
- mejora 'canonical_param_env_cache'
- interpretar: saltarse comprobaciones de validez de la proyección de ref cuando no se necesitan
- optimizar la resolución de la caja para un espacio de trabajo grande
- optimizar la gestión de errores del solucionador
- optimizar 'try_evaluate_obligations'
- perf: caché ya comprobada en el visitante de privacidad
- PERF: Root Fast Paths sin bloqueo para consultas de higiene
- PERF: Saltarse impls extranjeros irrelevantes al construir el grafo de especialización
- perf: guardar el motor de cumplimiento en línea en ObligationCtxt
- resolución poco profunda de variaciones ty y const a sus vars raíz, intento 2
- acelerar 'EverInitializedPlaces'
- split 'apply_primary_terminator_effect'
- estabilizar 'c_variadic_naked_functions'
Biblioteca
- añadir camino rápido a 'escape_string_symbol'
- núcleo: generaliza 'BorrowedCursor::ensure_init'
- pista de que memchr devuelve un índice de entrada
- implementa '<OnceCell,OnceLock>::new_init'
- implementa 'to_string()' en 'ByteStr' y 'ByteString'
- introducir un rasgo 'PinSafePointer' que generaliza 'PinCoerceUnsized'
- marcar los métodos const ptr y funciones libres como 'inline(always)' para que coincidan con *mut
- optimizar 'slice::contains' para tipos de BytewiseEq de un byte
- conversión ASCII de paso único
- estabilizar 'fs_set_times'
Carga
- 'docs(changelog)': Retira el --ítem verboso
- 'docs(ref)': Añadir variables de configuración env que faltan
- 'feat(log)': emitir mensaje JSON de inicio de compilación con 'run_id'
- 'feat(profile)': Añadir depuración de perfil incorporada
- 'feat(resolver)': Reporta la edad mínima de publicación en el mensaje de bloqueo
- 'feat(toml)': permitir anular características por defecto heredadas en 2024
- 'feat(trim-paths)': emitir archivos de desmapeado para artefactos finales
- 'arreglar (limpiar)': respetar objetivo con --doc
- 'fix(diag)': Asegurarse de que los títulos diagnósticos funcionen sin fragmentos
- 'arreglar(diag)': Puerta 'blanket_hint_mostly_unused' con -Zprofile-hint-majorly-unused
- 'fix(diag)': Eliminar grupos de complejidad, perfección y pelusas de vivero
- 'fix(git)': Evitar usar git's core.fsmonitor
- 'fijar(cerradura)': Usa más preciso 'más alto, en lugar de 'más reciente'
- 'fix(resolver)': Haz la edad mínima de publicación relativa a ---tiempo de publicación
- 'fijar(trim-paths): /carga/deps' fuentes de respaldo
- 'fix(trim-paths)': reasignación del espacio de trabajo bajo -Zroot-dir
- 'refactor(resolver): resolve()' no necesita un gctx opcional
- 'revert(compilador)': bandera verbosa de reenvío a rustc para cajas locales
- 'test(trim-paths)': ejercicio de desmapear archivos con depuradores
- doc: no usar la información fusionable y JSON juntos
- enlace de reparación de financiación
- refactorización: eliminar mut innecesario en las fuentes
- prueba: manejo del orden de compilación no determinista
Rustdoc
- Crear archivo de salida después de comprobar que el archivo markdown independiente es válido
- No tener en cuenta 'doc(cfg())' al filtrar doctests
Clippy
- 'cast_possible_truncation': corrigir 'try_from' sugerencia expansión macros
- no pongas pelusa 'semicolon_if_nothing_returned' en '#[automatically_derived]' ...
- corrigir 'needless_range_loop' sugiere erróneamente para el índice anidado
- 'needless_bool': lint, la forma de guardia de regreso anticipado
- nuevo LINT: operadores y métodos no nulos
- 'redundant_pattern_matching': sugerencia de '¡cerillas!' con paréntesis y guardados
- 'unwrap_or_default': respetar MSRV para el puntero crudo Default impls
Analizador de Rust
- cuenta las continuaciones de la línea final en cadenas de bytes
- apoyo '#[rustc_must_implement_one_of]' en las asistencias
- añadir 'replace_arith_with_strict' asistencia
- 'term_search' excluir tipo de objetivo inútil
- añadir paréntesis en algunos casos comunes de 'type_mismatch'
- permitir literales de 'struct' en los guardas de partido dentro de los excres 'let'
- siempre asigna consts anónimos para literales de cadenas de c/cadenas de bytes
- evitar la descoordinación de tipo de Len de la matriz con el pánico de cuerdas
- evitar escapar de vars atados producidos por 'skip_binder's infer_method_call'
- profundidad de expansión macro limitada a través de los límites del cuerpo y del bloque
- no consideres los locales de 'async fn' como upvars de la corutina devuelta
- no declarar el constructor de valor NS para variantes structs/enum si no existe
- no te pongas nervioso cuando una vida entera se transmite a una metavariable 'ident'
- arreglar el pánico de 'no se ha encontrado entrada para la llave' en VFS
- consulta de fix upvars del bloque const dentro del cierre
- diagnóstico positivo corregido para código válido
- inicializar 'macro_depth' a la profundidad macro del archivo en docs.rs y assoc.rs
- dejemos que 'Param::p arent_fn' retorne la función para los métodos BuiltinDeriveImplMethod
- normalizar tipos asociados en las comprobaciones de huérfanos
- desajustados uno por uno en los binders de Lifetime al bajar 'Dyn Trait<'a>'
- optimizar el uso de memoria del árbol de objetos
- analizar ASM en línea con palabra clave como nombre del operando
- análisis o patrón tras patrón de rango
- preservar el texto final cuando 'InsertReplaceEdit' no esté soportado
- eliminar espacios extra en firmas de función completa
- soportar macros en atributos '#[doc]' en características del IDE
- las variables de tipo no resueltas no deberían escapar a la selección impl
- al buscar un 'pub macro', considéralo disponible para revertir dependencias
Triaje de rendimiento del compilador Rust
Esta semana han llegado tantas mejoras de rendimiento nuevas que tuvimos que juntar 10 para mantener la cola de Bors manejable, ¡gran trabajo! También es nueva la actualización LLVM 23, que provocó enormes mejoras en tiempo de compilación, ejecución, tiempo de arranque y tamaño de artefactos. Estas mejoras se ven reducidas por la fusión de Polonio Alfa cada noche, provocando una regresión del 3,0%. Aún parece haber cierto potencial para mitigar esta regresión.
Triaje hecho por @JonathanBrouwer. Rango de revisión: 65dd30fb.. 771916f9
Resumen:
| (instrucciones:u) | media | alcance | cuenta |
|:----------------------------------:|:-----:|:---------------:|:-----:|
| Regresiones ❌
(primaria) | 4,6% | [0,2%, 12,8%] | 24 |
| Regresiones ❌
(secundario) | 4,3% | [0,2%, 14,3%] | 30 |
| Mejoras ✅
(primaria) | -3,3% | [-16,4%, -0,2%] | 251 |
| Mejoras ✅
(secundaria) | -5,2% | [-34,8%, -0,2%] | 308 |
| Todos ❌✅ (primario) | -2,6% | [-16,4%, 12,8%] | 275 |
1 regresión, 4 mejoras, 7 mixtas; 5 de ellas en rollups 25 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
- std: map ENOTSUP to ErrorKind::Unsupported- #158580
- dote: añadir impls simétricos de Ecuaciones Parciales para 'Vec', '&[T]', '&mut [T]' frente a 'Vaca<'_, [T]>'
- Añadir implementación 'por defecto' para 'std::sync::Once'
- Extiende 'dropping_{references,copy_types}' lints a 'drop_in_place'
- pelusa en usos más incorrectos de 'core::ffi::c_void'
- target_features: sse (o al menos avx2) es incompatible con soft-float ABI
- Hacer que let-else respete macro_rules agrupación de metavariables expr
- ASM en línea PowerPC: Corregir que los floats escalares estén en el carril vectorial incorrecto en el little endian
- estabilizar 'Box::take'
- hacen que los cierres actúen como Quizá colgando
- activar el siguiente solucionador por defecto en orphanck
- Error en la proyección del tipo de no compat dyn en el antiguo solucionador de rasgos
- Estabilizar '-Zprofile-sample-use'
Equipo de compiladores (solo MCPs)
- Dejar de usar dlltool para generar bibliotecas de importación en MinGW
- Promover riscv64a23-unknown-linux-gnu a Nivel 2 con herramientas de host
- Eliminar herramientas anfitrionas de nivel 2 'i686-pc-windows-gnu'
Consejo de Liderazgo
- Asignar más fondos al equipo de financiación en 2026
- Destina más fondos al presupuesto de viaje de 2026
Sin artículos inscritos en el Periodo de Comentarios Finales esta semana para RFCs de Rust, Referencia lingüística, Carga, Equipo de Idiomas o Directrices del Código Peligroso. 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
Próximos eventos
Eventos Rusty entre el 12-08-2026 - el 09-09-2026 🦀
Virtual
- 2026-08-13 | Virtual (Berlín, DE) | Berlín Oxidado
- 2026-08-13 | Virtual (Núremberg, DE) | Núremberg Oxidado
- 2026-08-14 | Virtual (Girona, ES) | Girona Oxidada
- 2026-08-16 | Virtual (Bangalore, IN) | Rust incrustado
- 2026-08-18 | Virtual (Washington, DC, EE. UU.) | Rust DC
- 2026-08-19 | Híbrido (Vancouver, BC, CA) | Vancouver Rust
- 2026-08-2026 | Híbrido (Seattle, WA, EE.UU.) | Grupo de usuarios de Seattle Rust
- 2026-08-20 | Virtual (Charlottesville, VA, EE.UU.) | Encuentro de Charlottesville Rust
- 2026-08-21 | Virtual (Girona, ES) | Girona Oxidada
- 2026-08-25 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-08-27 | Virtual (Berlín, DE) | Berlín Oxidado
- 2026-08-28 | Virtual (Girona, ES) | Girona Oxidada
- 2026-08-31 | Virtual (Global) | Rust Maven
- 2026-09-01 | Virtual (Global) | Rust Maven
- 2026-09-02 | Virtual (Indianápolis, IN, EE.UU.) | Indy Rust
- 2026-09-04 | Virtual (Girona, ES) | Girona Oxidada
- 2026-09-08 | Virtual (Dallas, TX, EE.UU.) | Encuentro de usuarios de Dallas Rust
- 2026-09-08 | Virtual (Londres, Reino Unido) | Mujeres en Rust
África
- 2026-09-08 | Johannesburgo, ZA | Encuentro de Johannesburgo Rust
Asia
- 2026-08-22 | Bangalore, IN | Rust Bangalore
- 2026-08-22 | Delhi, IN | Delhi Oxidado
- 2026-08-22 | Noida, IN | SciPy India
- 2026-08-29 | Pune, IN | Rust Pune
Europa
- 2026-08-13 | Suiza, CH | PostTenebrasLab
- 2026-08-18 | Aarhus, DK | Rust Aarhus
- 2026-08-18 | Leipzig, DE | Rust - Programación moderna de sistemas en Leipzig
- 2026-08-20 | Frankfurt, DE | Rhein-Meno Oxidado
- 27-08-2026 | Manchester, Reino Unido | Manchester Oxidado
Norteamérica
- 2026-08-13 | Lehi, UT, EE. UU. Utah Rust
- 2026-08-13 | San Diego, CA, EE. UU. San Diego Rust
- 2026-08-15 | San Francisco, CA, EE. UU. Flower
- 18-08-2026 | San Francisco, CA, EE. UU. Grupo de Estudio sobre el Rust de San Francisco
- 2026-08-19 | Híbrido (Vancouver, BC, CA) | Vancouver Rust
- 2026-08-19 | San Francisco, CA, EE. UU. Rust del Área de la Bahía
- 20-08-2026 | Mountain View, CA, EE.UU. | Dojo Hacker
- 2026-08-2026 | Nueva York, NY, EE. UU. Rust NYC
- 2026-08-2026 | Híbrido (Seattle, WA, EE.UU.) | Grupo de usuarios de Seattle Rust
- 26-08-2026 | Austin, TX, EE.UU. ATX Rust
- 26-08-2026 | Los Ángeles, CA, EE.UU. Los Ángeles Oxidado
- 2026-08-27 | Atlanta, GA, EE.UU. Rust Atlanta
- 2026-09-03 | Saint Louis, MO, EE. UU. | Rust STL
- 2026-09-08 | Montreal, QC, CA | Fundación de Rust
- 2026-09-08 - 2026-09-11 | Montreal, QC, CA | RustConf 2026
- 2026-09-09 | Montreal, QC, CA | Mujeres en Rust
Oceanía
- 2026-08-27 | 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
La discusión sobre la IA ya se ha cerrado por estar fuera de tema y descarrilando. No invoques a los moderadores tan descuidadamente, porque están enfadados y llenos de cruel venganza.
– Simon Buchan sobre usuarios de Rust
¡Gracias a Jonas Fassbender 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