Esta semana en Rust #123
¡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
Observaciones/Pensamientos
- De Go to Rust
- Cómo se sintió Zig, viniendo de Rust
- Quiero un "fil-c"" externo
- Cuatro niveles de inicialización in situ
- Protegiendo la biblioteca estándar Rust de roturas accidentales
- Renderizado wgpu de copia cero dentro de una app Electron
- La pelusa que la habría atrapado está apagada por defecto
- [vídeo] [serie] Implementando máquinas de estados (Parte 1)
Guías de Rust
Investigación
Miscelánea
Crate de la semana
El crate de esta semana es tokio_with_wasm, una caja que permite que una única base de código de tokio se ejecute tanto de forma nativa como en navegadores web.
¡Gracias a Kim Dong-Hyun 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.
Carga
Esta semana no se emitieron llamadas para realizar pruebas por Rust, 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.
- sysknife - Exportar las filas de la cadena de auditoría, no solo el veredicto de verificación
- sysknife - Exponer las acciones de solo lectura como herramientas MCP sin exponer AptUpdate
- sysknife - Grabar una validación atómica actual de Fedora
- YantrikDB - Migrar los 7 sitios manuales restantes de SAVEPOINT a SavepointGuard (agujero de desenrollar en pánico + 7 copias enrolladas a mano de la regla de desenrollar)
- RustAPI - tarea: plantillas de problemas, etiqueta de triaje faltante, MSRV 1.85 (fácil)
- KayaDB - prueba: un caso extra de WAL malformado / decodificador de trama de comando (fácil)
- Cordial - GameActivity.getWaterfallInsets tiene el descriptor JNI incorrecto
- Cordial - ro.soc.manufacturer se responde con una cadena vacía
- Cordial - Mapa de qué canales FLog toman un número y cuáles un nombre de severidad
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
613 pull requests fueron [fusionadas en la última semana][fusionadas]
Compilador
- en línea con algunas funciones nuevas de resolución calientes
- estabilizar '-Zprofile-sample-use'
- estabilizar 'extern "custom"'
- hacer que 'ShardedHashMap::with_capacity' se reparta la capacidad entre fragmentos
- tres aceleraciones de nuevo solucionador
- usar 'TyOrConstInferVar' en el siguiente solucionador, corregir #158441
Biblioteca
- añadir 'núcleo::num::Complejo'
- 'Arc': eliminar el uso innecesario de 'fmt::D isplay' para la afirmación de desbordamiento
- núcleo/num: implementar la función 'float_nan_to'
- núcleo: implementar 'FusedIterator' para 'StepBy'
- experimento: añadir 'núcleo::cmp::más pequeño' y 'núcleo::cmp::más grande'
- 'Iterador::{min,max}(_by_key)' debe usar 'min'/'max'/'lt'
- macro funcional tipo 'offload!'
- optimizar las comprobaciones de límites de corte de respaldo de CStr
- buscador ASCII de un solo byte para 'StrSearcherImpl(pattern.rs)'
Carga
- 'trim-paths': Honor Workspace Prefijo Override desde env
- 'frontmatter': No te asustes en una valla corta antes de un personaje que no es ASCII
- 'min-public-age': eliminar 'registro.min-publish-age'
- activar '-Zembed-metadata=no' por defecto en Carga nocturna
- re-estabilizar el diseño del director-construcción v2
- eliminar el archivo de desreasignación al ejecutar carga limpia -p en la nueva disposición de build-dir
Rustdoc
- añadir soporte básico de 'splat' a 'rustdoc'
- añadir nueva pelusa de 'unused_footnote_definition' en el doc de Rust
- también avisar si se usa un atributo 'doc' inválido en una invocación de macro
Clippy
- añadir pelusa de 'option_zip_none'
- limpieza 'used_underscore_*'
- arreglar ICE en 'unnecessary_rest_pattern' para TyAlias
- corregir 'unfulfilled_lint_expectations' activado incorrectamente por '#[expect(clippy::let_and_return)]'
- corregir diagnósticos duplicados para 'min_rust_version_invalid_attr'
- PERF: Consulta el tipo FN antes de la expansión en 'missing_const_for_thread_local'
- perf: resuelve el llamado antes de la expansión en 'VecArgs::hir'
- PERF: corre 'in_external_macro' tras los cheques baratos en cinco caminos de pelusa caliente
Analizador de Rust
- analizador: ruta de error frontmatter para UTF-8
- evitar el pánico por parámetros de tipo asociados desajustados
- comprobar el tipo original para 'replace_arith_op'
- considera que el bucle que contiene 'break expr' diverge si 'expr' está divergiendo
- no entrar en pánico cuando esté definido en macro desde la entrada
- no te equivoques en la coma de cola para alguna macro
- emitir E0600 cuando se aplica unario '!'/'-' al tipo no soportado
- cada espacio de trabajo debería tener un servidor proc-macro
- corregir soporte de 'rustc_private' para 'rustc_proc_macro'
- Expresiones de rango inferior en HiR bajando
- devolver una const de error al solucionador cuando falla la constevell
- ofrece 'replace_arith' sobre referencias a ints
- soportan derivados integrados Reborrow y CoerceShared
Triaje de rendimiento del compilador Rust
Casi no hubo regresiones esta semana, mientras que el siguiente solucionador de rasgos mostró varios resultados significativos ¡Mejoras!
Triaje hecho por @kobzol. Rango de revisión: 771916f9.. 8FA1c96C
Resumen:
| (instrucciones:u) | media | Rango | conde |
|:----------------------------------:|:-----:|:---------------:|:-----:|
| Regresiones ❌
(primaria) | 0,4% | [0,2%, 0,5%] | 6 |
| Regresiones ❌
(secundario) | 0,6% | [0,2%, 1,0%] | 17 |
| Mejoras ✅
(primaria) | -0,5% | [-1,7%, -0,2%] | 166 |
| Mejoras ✅
(secundario) | -2,3% | [-16,0%, -0,1%] | 219 |
| Todos ❌✅ (primario) | -0,5% | [-1,7%, 0,5%] | 172 |
0 regresiones, 6 mejoras, 7 mixtas; 4 de ellos en rollups 50 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
- Siempre escape de los extensores de grafema en 'str::escape_debug'
- feat: añadir Ecuaciones Parciales simétricas para Vec, &[T], &mut [T] frente a Vaca<'_, [T]>
- estabilizar funciones inteligentes de mapeo de puntero
- Estabilizar 'windows_process_extensions_main_thread_handle'
- Añadir implementación 'por defecto' para 'std::sync::Once'
- target_features: sse (o al menos avx2) es incompatible con soft-float ABI
- Quitar 'De<!> para T' reserva impl
- estabilizar 'Box::take'
- Extiende 'dropping_{references,copy_types}' lints a 'drop_in_place'
- pelusa en usos más incorrectos de 'core::ffi::c_void'
- Hacer que let-else respete macro_rules agrupación de metavariables expr
Carga
Equipo de compiladores (solo MCPs)
Sin artículos inscritos en el Periodo de Comentarios Finales esta semana para RFCs de Rust, Equipo de Lenguaje, Referencia lingüística, Consejo de Liderazgo 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
- Cambiar 'i686-pc-windows-msvc' de Tier 1 con herramientas de host => Tier 1 sin herramientas de host
- Propietarios de referencias ('& propia T')
Este RFC aparecerá en la sección Llamada para Pruebas del próximo número (#) de This Week in Rust (TWiR). Puedes eliminar la etiqueta de 'llamada para pruebas'. Por favor, siéntete libre de dejar la etiqueta 'llamada para pruebas' si quieres que este RFC vuelva a aparecer en otro número de TWiR.
Próximos eventos
Eventos Rusty entre el 19-08-2026 y el 16-09-2026 🦀
Virtual
- 2026-08-19 | Híbrido (Vancouver, CA) | Rust de Vancouver
- 2026-08-20 | Híbrido (Seattle, WA, EE. UU.) Grupo de usuarios Seattle Rust
- 2026-08-20 | Virtual (Charlottesville, VA, EE. UU.) | Encuentro de Charlottesville Rust
- 2026-08-21 | Virtual | Rust Girona
- 2026-08-25 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-08-26 | Virtual (Cardiff, Reino Unido) | Rust y C++ Cardiff
- 27-08-2026 | Virtual (Berlín, DE) | Berlín Oxidado
- 2026-08-28 | Virtual | Rust Girona
- 2026-08-31 | Virtual | Experta del Rust 🦀
- 2026-09-01 | Virtual | Experta del Rust 🦀
- 2026-09-02 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
- 2026-09-02 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
- 2026-09-04 | Virtual | Rust Girona
- 2026-09-06 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-09-08 - 2026-09-11 | Híbrido (Montreal, CA) | RustConf 2026
- 2026-09-08 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-09-08 | Virtual (Londres, Reino Unido) | Mujeres con Rust
- 2026-09-10 | Virtual | Experta del Rust 🦀
- 2026-09-10 | Virtual (Berlín, DE) | Berlín Oxidado
- 2026-09-10 | Virtual (Núremberg, DE) | Núremberg de Oxid
- 2026-09-15 | Virtual (Washington, DC, EE. UU.) | Oxidación DC
- 2026-09-16 | Híbrido (Vancouver, CA) | Rust de Vancouver
África
- 2026-09-08 | Johannesburgo, ZA | Encuentro de Johannesburgo Rust
Asia
- 2026-08-22 | Bangalore, IN | Rust Bangalore
- 2026-08-22 | Delhi, IN | Rust Delhi
- 2026-08-22 | Noida, IN | SciPy India
- 2026-08-29 | Pune, IN | Rust Pune
Europa
- 2026-08-20 | Berlín, DE | Berlín Oxidado
- 2026-08-20 | Frankfurt, DE | Rust Rhein-Main
- 2026-08-21 | Edimburgo, Reino Unido | Rust y amigos
- 2026-08-26 | Dresde, DE | Rust Dresden
- 27-08-2026 | Manchester, Reino Unido | Manchester Rust
- 2026-08-29 | Estocolmo, SE | Rust de Estocolmo
- 2026-09-08 | París, FR | París Rust
- 2026-09-14 - 2026-09-16 | Berlín, DE | Oxidar 2026
- 2026-09-15 | Leipzig, DE | Rust - Programación de sistemas modernos en Leipzig
Norteamérica
- 2026-08-19 | Híbrido (Vancouver, CA) | Rust de Vancouver
- 2026-08-19 | San Francisco, CA, EE. UU. Rust del Área de la Bahía
- 2026-08-20 | Híbrido (Seattle, WA, EE. UU.) Grupo de usuarios Seattle Rust
- 2026-08-20 | Mountain View, CA, EE. UU. | Dojo Hacker
- 2026-08-20 | Nueva York, NY, EE. UU. Rust NYC
- 2026-08-26 | Austin, TX, EE. UU. | ATX de Rust
- 2026-08-26 | Los Ángeles, CA, EE. UU. | Rust Los Ángeles
- 27-08-2026 | Atlanta, GA, EE. UU. Rust Atlanta
- 2026-09-03 | Mountain View, CA, EE. UU. | Dojo Hacker
- 2026-09-03 | Saint Louis, MO, EE. UU. STL Rust
- 2026-09-08 - 2026-09-11 | Híbrido (Montreal, CA) | RustConf
- 2026-09-08 | Montreal, QC, CA | Cimiento de Rust
- 2026-09-08 - 2026-09-11 | Montreal, QC, CA | RustConf 2026
- 2026-09-09 | Montreal, CA | Mujeres con Rust
- 2026-09-10 | San Diego, CA, EE. UU. San Diego Rust
- 2026-09-15 | San Francisco, CA, EE. UU. Grupo de Estudio sobre el Rust de San Francisco
- 2026-09-16 | Híbrido (Vancouver, CA) | Rust de Vancouver
Oceanía
- 27-08-2026 | Melbourne, AU | Rust Melbourne
- 27-08-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
lío es el máximo
– Clar Fon sobre la discusión de rust-zulip "suposiciones sobre carpetas" abreviaturas
¡Gracias a Theemathas 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