Esta semana en Rust #70
¡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
- GCC Front-End For Rust - Informe mensual de julio de 2025
- Anuncio de ChaCha12-BLAKE3: cifrado seguro, simple y rápido para cualquier CPU
- 'r3bl_tui' v0.7.3 liberado
- 'r3bl-cmdr' v0.0.21 publicado
- Rama 0.3.0-alpha.2 — Grupos de conexiones criptográficas, ACME y mejores
- Meilisearch 1.16 — incrustaciones multimodales y API de migración directa
Observaciones/Pensamientos
- Cómo hago juegos en 3D
- Inyectar Java desde bibliotecas nativas en Android
- Usted es el BIOS ahora: Construyendo un hipervisor en Rust con KVM
- Opsqueue: cola de procesamiento por lotes ligera para cargas pesadas
- Rust, Python y TypeScript: la nueva trifecta
- Cambios complejos de codificación de vibración en Rust
- El patrón de generatividad en Rust
- Las complejidades de las transmisiones asíncronas de Rust
- Cómo Rust me ayudó a escribir mejor código
Tutoriales de Rust
- construyendo un mapa hash simple
- Un problema fácil hecho difícil: Rust y árboles binarios
- Enviar más datos que el dispositivo a través de Bluetooth LE con Rust
- Optimización de compilaciones de Rust con banderas de destino
- [video] Compilación con Naz: código Claude + perfiles y rendimiento de Rust
Miscelánea
Crate de la semana
El crate de esta semana es saphyr, una bifurcación de yaml-rust que se mantiene activamente.
¡Gracias a Félix Saparelli por la sugerencia!
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 de prueba esta semana por Rust, RFC del lenguaje Rust, Carga 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.
- rama - admite respuestas de aplicación / octeto-stream
- rama - agregar rama-pac: implementación inicial con PacConnector como soporte principal de API
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 poniéndote en contacto con X (anteriormente Twitter) 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.
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 a TWiR o comunicándose en X (anteriormente Twitter) o Mastodon!
Actualizaciones del Proyecto Rust
406 solicitudes de extracción fueron [fusionadas en la última semana][fusionadas]
Compilador
- descenso AST de tramo completo
- expandir las obligaciones de WF al verificar las llamadas a métodos
- Optimizar restricciones de región
- realizar 'check_private_in_public' por módulo
Biblioteca
- añadir 'core::mem::D ropGuard'
- constificar 'with_exposed_provenance'
- constificar algunas funciones más de 'Resultado'
- marcar 'rebanada::swap_with_slice' inestablemente constante
- implementar 'push_mut'
- implementar macro 'hash_map'
- implementación: '#[feature(sync_nonpoison)]', '#[feature(nonpoison_mutex)]'
Rustdoc
- Mostrar el tiempo total y el tiempo de compilación de las pruebas de documentos fusionadas
- Mostrar attrs inseguros con envoltorios 'unsafe()' edición 2024
Clippy
- '{flat_,}map_identity': reconocer (tupla) 'struct' de- y reestructuración
- extender 'implicit_clone' para manejar llamadas 'to_string'
- corregir 'iter_on_single_items' falso positivo en punteros de función y let stmts
- corregir 'min_ident_chars': ignorar en el rasgo impl
- corregir 'search_is_some' sugiere erróneamente dentro de macro
- corrección que no mostraba pelusas obsoletas
- arreglar opción-si-de-otra pelusa
- 'let_with_type_underscore': no coma el paréntesis de cierre en 'let (i): _ = 0;'
- optimizar 'broken_links' en un 99,77%
- optimizar algunos usos de '!! ' y '--' en sugerencias
- simplificar la expresión booleana en 'manual_assert'
- dividir 'possible_missing_else' de 'suspicious_else_formatting'
Analizador de Rust
- al cambiar el nombre de un parámetro a 'self', cambie los llamadores para que usen la sintaxis de llamada al método
- corregir la plantilla de documento de pánicos de generación para 'debug_assert'
- ir correctamente a 'From' impl cuando está en 'into ()' incluso cuando la llamada está dentro de una macro
- no requiere que todas las definiciones de cambio de nombre sean renombrables
- en 'generate_mut_trait_impl', no agregue una tabulación si el cliente no admite fragmentos de código
- al mostrar una proyección en un parámetro de tipo que tiene límites como 'rasgo impl', recopile solo los límites de esta proyección
- mejorar el título y las descripciones del árbol de configuración
- reorganizar proc-macro-srv más, agregar '--format' y '--version' args
Triaje de rendimiento del compilador de Rust
Semana positiva en general, pero la mayoría de los cambios se producen en escenarios incrementales muy pequeños.
Triaje realizado por @panstromek. Rango de revisión: e3514bde.. 07b7dc90
Resumen:
| (instrucciones:U) | media | Gama | recuento |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regresiones ❌
(primaria) | 0,4% | [0,2%, 1,0%] | 28 |
| Regresiones ❌
(secundaria) | 0,7% | [0,0%, 2,8%] | 29 |
| Mejoras ✅
(primaria) | -0,5% | [-2,7%, -0,1%] | 95 |
| Mejoras ✅
(secundario) | -0,9% | [-9,2%, -0,0%] | 62 |
| Todos ❌✅ (primarios) | -0,3% | [-2,7%, 1,0%] | 123 |
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:
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
- Extraer TraitImplHeader en AST/HIR
- implementar Suma y Producto para Saturar(u*)
- Estabilizar as_array_of_cells
- Problema de seguimiento para 'array::repeat'
- Problema de seguimiento para 'core::iter::chain'
- Problema de seguimiento para const_exposed_provenance
- [disposición: cerrar] Cambiar el nombre de bool::ok_or[_else] a bool::then_ok_or[_else] para evitar confusiones con Option::ok_or[_else]
- Agregue 'Predeterminado' impls para 'Pin'ned 'Box', 'Rc', 'Arc'
- impl 'PartialEq<{str,String}> for {Path,PathBuf}'
- Estabilizar 'ip_from'
- Problema de seguimiento para {BTreeMap,BTreeSet}::extract_if
- Problema de seguimiento para const {OsString, PathBuf}::new
- Estabilizar varargs de estilo C para System, Sysv64, Win64, EFIAPI, AAPCS
- Rechazar límites relajados dentro de los límites de tipo asociados (ATB)
- Comience a informar futuras roturas para 'ILL_FORMED_ATTRIBUTE_INPUT' en dependencias
- Estabilizar las características objetivo 'sse4a' y 'tbm'
- Agregar pelusa contra entero para transmutar el puntero
- Estabilizar loongarch32 asm en línea
Ningún artículo entró en el período de comentarios finales esta semana para Carga, Equipo de idiomas, Referencia del idioma, RFC de Rust 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
- [nuevo] transmutación de próxima generación
- [nuevo] RFC: Etiquetas de seguridad
Próximos eventos
Rusty Eventos entre 2025-08-06 - 2025-09-03 🦀
Virtual
- 2025-08-06 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
- 2025-08-10 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-08-12 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-08-14 | Híbrido (Seattle, WA, EE. UU.) | Grupo de usuarios de Seattle Rust
- 2025-08-14 | Virtual (Berlín, Alemania) | Rust Berlin
- 2025-08-17 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-08-19 | Virtual (Santa Clara, CA, EE. UU.) | Comunidad de Extensión de la UCSC
- 2025-08-19 | Virtual (Washington, DC, EE. UU.) | Rust DC
- 2025-08-20 | Híbrido (Vancouver, BC, CA) | Rust de Vancouver
- 2025-08-21 | Virtual (Buenos Aires, AR) | Rust en Español
- 2025-08-21 | Virtual (Londres, Reino Unido) | Conf42: Eventos tecnológicos en línea
- 2025-08-21 | Virtual (Núremberg, DE) | Rust de Nuremberg
- 2025-08-24 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-08-26 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-08-28 | Virtual (Berlín, Alemania) | Rust Berlin
- 2025-08-31 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-09-02 | Virtual (Búfalo, Nueva York, EE. UU.) | Encuentro de Buffalo Rust
- 2025-09-02 * 2025-09-05 | Híbrido (Seattle, WA, EE. UU.) | RustConf
- 2025-09-03 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
Asia
- 2025-08-23 | Bangalore, IN | Rust Bangalore
Europa
- 2025-08-06 | Girona, ES | Rust Girona
- 2025-08-06 | Colonia, DE | Colonia de Rust
- 2025-08-06 | Oxford, Reino Unido | Encuentro de Oxford ACCU/Rust.
- 2025-08-07 | Berlín, DE | Rust Berlin
- 2025-08-13 | Cambridge, Reino Unido | Reunión de Cambridge Rust
- 2025-08-13 | Reading, Reino Unido | Taller de lectura de Rust
- 2025-08-16 | Basilea, CH | Rust Basel
- 2025-08-19 | Aarhus, DK | Rust Aarhus
- 2025-08-19 | Leipzig, DE | Rust - Programación de sistemas modernos en Leipzig
- 2025-08-21 | Oslo, NO | Rust Oslo
- 2025-08-28 | Manchester, Reino Unido | Rust Manchester
- 2025-08-30 | Estocolmo, SE | Rust de Estocolmo
América del Norte
- 2025-08-07 | Montreal, QC, CA | Rust Montréal
- 2025-08-07 | Mountain View, CA, EE. UU. | Dojo hacker
- 2025-08-07 | Saint Louis, MO, EE. UU. | STL Rust
- 2025-08-08 | Boston, MA, EE. UU. | Reunión de Boston Rust
- 2025-08-12 | Nueva York, NY, EE. UU. | Rust NYC
- 2025-08-12 | San Francisco, CA, EE. UU. | Grupo de Estudio de Roya de San Francisco
- 2025-08-14 | Híbrido (Seattle, WA, EE. UU.) | Grupo de usuarios de Seattle Rust
- 2025-08-14 | Lehi, UT, EE. UU. | Rust de Utah
- 2025-08-14 | Redmond, WA, EE. UU. | Grupo de usuarios de Seattle Rust
- 2025-08-18 | Denver, CO, EE. UU. | FOSS Rust Colorado
- 2025-08-20 | Híbrido (Vancouver, BC, CA) | Rust de Vancouver
- 2025-08-21 | Nashville, TN, EE. UU. | Desarrolladores de Music City Rust
- 2025-08-23 | Boston, MA, EE. UU. | Reunión de Boston Rust
- 2025-08-27 | Austin, TX, EE. UU. | Rust ATX
- 2025-08-28 | Atlanta, GA, EE. UU. | Rust Atlanta
- 2025-09-02 * 2025-09-05 | Híbrido (Seattle, WA, EE. UU.) | RustConf
Oceanía
- 2025-08-11 | Christchurch, Nueva Zelanda | Grupo de encuentro de Christchurch Rust
- 2025-08-26 | Barton, AC, AU | Grupo de Usuarios de Rust de Canberra (CRUG)
- 2025-08-27 * 2025-08-30 | Wellington, Nueva Zelanda | Forja de Rust
América del Sur
- 2025-08-07 | Montevideo, UY | Rust Meetup Uruguay
- 2025-08-21 | Buenos Aires, AR | Rust en Español
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
Además de reescribir las herramientas en Rust, un lenguaje más seguro, algunas características poco utilizadas de sudo no se implementaron para reducir la superficie de vulnerabilidad. Esto resultó ser significativo en julio de 2025 cuando se descubrieron dos vulnerabilidades (..) en funciones de sudo que no estaban implementadas en sudo-rs. En respuesta a uno de ellos, sudo ha quedado obsoleto y eliminará la característica que aloja la vulnerabilidad.
– Josh Aas en el blog de prossimo
¡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*