Esta semana en Rust #120
¡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
Boletines
Actualizaciones de proyectos/herramientas
- AFIRM 0.7.0: Un marco genérico de métodos de entrada
- Compartiendo trabajo de construcción de Rust entre árboles de trabajo de carga con cargo-reapi
- exiftool-rs 0.7.0: localización de los valores PrintConv de ExifTool, no solo sus etiquetas
- Anunciando SeaORM 2.0
- kobe 0.37.0: más fácil de desplegar e instalar
- Kache 0.12.0: mandos enchufables, GC más inteligente, diagnósticos más precisos
- Progreso hacia la compilación de Linux con gccrs
- FLODL 0.7.0: una vista de panel, repetida en todos los niveles
- samkhya 1.2.1 — el techo de cardinalidad de unión se vuelve demostrable
- BrewFS: un sistema de archivos distribuido similar a Rust y JuiceFS
Observaciones/Pensamientos
- Mejorando la etapa estándar::simd::swizzle_dyn
- Ciclos de consultas: Un misterio de asesinato con compilador
- GDPatch: un cargador de mods versátil para Godot
- Absolutistas de la Seguridad de la Memoria
- Migración de C++ a Rust
- Matrices planas 2D de alto rendimiento en Rust con SIMD, caché L1
- Construcción de microservicios Java–Rust con TeaQL: Modelos, Eventos e Intención de Auditoría
- Cómo reducimos el tiempo de reacción de un bot de trading de ~2 segundos a milisegundos — moviendo solo el camino caliente hacia el Rust
- Servidor ESP32: Distribución de flujos HTTP/2 sobre TLS
- [vídeo] Rust Berlin Talks · 23/07/2026
Guías de Rust
- Que aún no haya tokens no significa que un stream de LLM Rust sea seguro para reintentar
- [serie] Rama 101.2: Conceptos Centrales
- [vídeo] [serie] ¿Qué hay dentro de Axum?
Crate de la semana
El crate de esta semana es cargo-efmt, un reemplazo directo para cargo fmt para soportar '.editorconfig'.
¡Gracias a kleines Filmröllchen por la autosugerencia!
[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.
- No se presentaron convocatorias para participar esta semana.
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.
- No se presentaron convocatorias ni presentaciones esta semana.
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
570 pull requests fueron [fusionadas en la última semana][fusionadas]
Compilador
- aplica RemoveNoopLandingPads después de la monomorfización
- los cierres heredan por defecto '#[optimizar]' de la función de encierro
- corrigir la convención de llamadas 'bool' para aarch64, etc
- optimizar 'escape_string_symbol()'
- 'proc_macro'': Corregir 'cfg_attr' atraciones internas en módulos de archivo
- resolver: más trabajo de preparación para paralelizar el bucle de resolución de importación
- estabilizar definiciones de funciones c-variádicas
Biblioteca
- Constificar 'Vec! [1, 2, 3]' macro
- núcleo: implementar 'Rng' para referencias
- define un tipo 'Simd' en 'minicore'
- implementar 'CovariantUnsafeCell'
- implementa 'str::copy_from_str'
- iter: extender la especialización 'step_by' para cubrir 'StepBy<RangeIter<{enter}>>'
- mover 'std::io::buffered' a 'alloc::io'
- num: mejorar los mensajes de error para 'TryFromIntError'
- fuerza: añadir ASCII camino rápido a 'word_to_titlecase'
- cambian las implementaciones de 'thread_local!' para WASI
Carga
- añadir el camino de Dylib de Haiku
- 'diag': recorrido transitivo de dependencias no utilizadas atado
- 'git': Ocultar la salida de git fetch sin progreso
- 'git': Sugiero libgit2 si git-cli falla
- 'prueba': pruebas de rutas de recorte de puertas en soporte de debuginfo dividido
- 'toml': advertencia sobre nombres y duplicados de pelusas con guion
- permitir establecer el valor '-Zembed-metadata' desde la configuración
- activar el diseño de la directora de construcción v2 por defecto por la noche
- completación de zsh: Añadir banderas '-p' y '--package' para 'añadir carga'
Rustfmt
- permitir errores de archivo no encontrado para mods externos anotados con '#[my_macro]'
- descubre módulos vía 'cfg_select!'
Rustdoc
- añadir rutas para los elementos asociados vinculados
- Recuperar información 'cfg_attr' para impls derivados para la característica 'doc_cfg'
- solo implica rasgo externo de build si es necesario
- solo impls en línea para primitivos locales
Clippy
- añadir 'EULER_GAMMA' y 'GOLDEN_RATIO' a 'approx_constant'
- añadir pelusa de 'assert_is_empty'
- aplicar comentario de seguridad a la declaración de asignación del compuesto
- 'blocks_in_conditions': No pongas pelusa si el bloqueo crea algo temporal...
- llama a 'in_external_macro' tras hacer otras comprobaciones en varios lugares
- no activar 'clippy::exit' cuando la expresión proviene de una macro externa
- 'duration_suboptimal_units': imprimir el nombre completo del método en la sugerencia
- extiende 'branches_sharing_code' para que haga coincidir los brazos con cola compartida
- 'min_ident_chars' pelusas, identificadores cortos incluso si siguen el nombre de rasgos
- 'multiple_unsafe_ops_per_block': falso positivo en tomar una referencia a una estática, pero no leerla/escribirla
- corregir 'four_forward_slashes' falso positivo en comentarios de Inner Doc
- 'lint-page': añadir etiquetas accesibles a los filtros
- nueva pelusa: 'nonnull_unchecked_on_box_ptr'
- perf: evitar el tipo y el trabajo de ruta por llamada en 'unnecessary_mut_passed'
- perf: encontrar grupos de pestañas en los comentarios del documento sin asignar
- reescribir 'EndianBytes' lint pass
Analizador de Rust
- añadir diagnóstico para patrones 'struct' que no especifican subpatrones para sus campos
- añadir paréntesis para invertir expresión general
- adjuntar base de datos sobre hilos de trabajo en inferencia paralela de análisis-estadísticas
- cambiar la versión de la cadena de herramientas no soportada para que coincida con la realidad
- el protocolo Discover solo debería analizar stdout
- no detectar '#[rust_analyzer]' como '#[rust_analyzer::rust_fixture]
- no ofrezcas 'replace_qualified_name_with_use' en un camino no cualificado
- no te asustes por un camino cualificado cuyo rasgo no es un rasgo
- no elijas un tipo discriminante más grande que el de Typeck
- arreglar archivo de bloqueo obsoleto
- arreglar la llamada '.zip(Ninguno)'
- da un resultado de ciclo a 'impl_trait_with_diagnostics'
- haz que la barra de progreso de estadísticas de análisis sea segura en Unicode
- pánico merge_imports' en caminos inválidos
- pánico en estructuras macro-definidas con campos desconocidos
- prefiere 'alloc' sobre rutas 'std' cuando 'preferNoStd' está activado
- Registrar la cadena de obligación para diagnósticos de rasgos no implementados y mostrarlo
- reemplazar desacoplar por borrar para 'ast::IdentPat'
- ruta de resolución en todo el espacio de nombres en 'resolve_path'
- respetar 'references.exclude[Tests/Imports]' en la lente de referencias
- cebado perezoso con mira
- soporte diagnóstico de código inactivo en macros
- usa bool en lugar de pat ty en guardia
Triaje de rendimiento del compilador Rust
Varias mejoras importantes se lograron en la última semana:
- Rustdoc es de media aproximadamente un 16% más rápido en todos nuestros benchmarks de documentos:
- rustdoc: Solo impls en línea para primitivas locales, builds de doc un 7% más rápidas
- rustdoc: Solo sintetiza auto/blanket impls para objetos documentados, otros builds de doc un 7% más rápidos
- rustdoc: Solo construye implicaciones de rasgos externos si es necesario, construcciones de doc un 10% más rápidas
- Eliminación anticipada del manejo de pánico no-op en las builds de depuración. Esto acelera la carga en un ~4% en el recuento cíclico.
- Optimizar escape_string_symbol() acelerado sube grandes 'include_bytes!'/'include_str!' mediante cambios en la escapada de cadenas, evitando una regresión en la próxima actualización de LLVM 23.
¡Me alegra ver tantas mejoras!
Triaje hecho por @simulacrum. Rango de revisión: d527BC9B.. AD0C9DCE
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
-
Resolución superficial ty y vars const a sus vars raíz, intento 2
-
Asegurarse de que los tipos de patrones inferidos estén bien formados
-
Estabilizar los enteros de 128 bits pasando mediante registros vectoriales con 'asm!' en x86
Equipo de compiladores (solo MCPs)
RFCs Rust
Carga
- feat(profile): Añadir depuración de perfil incorporada
- feat(toml): permitir anular características predeterminadas heredadas en 2024
Sin artículos inscritos en el Periodo de Comentarios Finales esta semana para Referencia lingüística, Equipo de Idiomas, Consejo de Liderazgo 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 29-07-2026 - el 26-08-2026 🦀
Virtual
- 30-07-2026 | Virtual (Berlín, DE) | Berlín Oxidado
- 31-07-2026 | Virtual (Girona, ES) | Girona Oxidada
- 01-08-2026 | Virtual (Kampala, UG) | Encuentro del Círculo Oxidado
- 2026-08-02 | Virtual (Dallas, TX, EE.UU.) | Encuentro de usuarios de Dallas Rust
- 2026-08-03 | Virtual (Global) | Rust Maven
- 2026-08-04 | Virtual (Londres, Reino Unido) | Mujeres en Rust
- 2026-08-04 | Virtual (Tel Aviv-yafo, IL) | Rust 🦀 TLV
- 2026-08-05 | Virtual (Cardiff, Reino Unido) | Rust y C++ Cardiff
- 2026-08-05 | Virtual (Indianápolis, INA, EE.UU.) | Indy Rust
- 2026-08-07 | Virtual (Girona, ES) | Girona Oxidada
- 2026-08-11 | Virtual (Dallas, TX, EE.UU.) | Encuentro de usuarios de Dallas Rust
- 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-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
África
- 2026-08-11 | 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
Europa
- 2026-07-29 | Polonia, PL | Polonia Oxidada
- 30-07-2026 | Copenhague, DK | Comunidad Copenhagen Rust
- 2026-07-30 | Manchester, Reino Unido | Rust Manchester
- 06-08-2026 | Oxford, Reino Unido | Encuentro Oxford ACCU/Rust.
- 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
Norteamérica
- 30-07-2026 | Atlanta, GA, EE.UU. | Rust Atlanta
- 01-08-2026 | Boston, MA, EE.UU. Encuentro de Boston Rust
- 2026-08-04 | Boston, MA, EE.UU. Encuentro de Boston Rust
- 2026-08-06 | Mountain View, CALI, EE.UU. | Dojo Hacker
- 2026-08-06 | Saint Louis, MO, EE.UU. Rust STL
- 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
- 19-08-2026 | San Francisco, CA, EE. UU. Área de Rust Bay
- 2026-08-2026 | Híbrido (Seattle, WA, EE.UU.) | Grupo de usuarios de Seattle Rust
- 26-08-2026 | Austin, TX, EE.UU. ATX Rust
Oceanía
- 30-07-2026 | Melbourne, AU | Melbourne Oxidado
Sudamérica
- 2026-08-08 | São Paulo, SP | Rust-SP
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
Así que hablemos de cómo ha sido el proceso para Netstack3. Durante 11 meses, el equipo ha estado intensificando un programa de captura de perros en contacto. En su punto álgido, ese programa ha tenido alrededor de 60 dispositivos funcionando casi 24/7 en casas de desarrolladores.
De nuevo, si fuera cualquier otro netstack, habríamos esperado descubrir una enorme montaña de bugs en ese tiempo. Entonces, en el último año, ¿cuántos bugs descubrió el equipo en el campo?
Tres.
– Josh Liebow-Feeser en su blog
Llogiq de nuevo no tiene a quién agradecer una sugerencia, así que se agradece a sí mismo haber encontrado esa cita en su lugar.
¡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