Esta semana en Rust #71
¡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 🥰
Oficial
Actualizaciones de proyectos/herramientas
- TangleGuard: Monitoreo de arquitectura de software exclusivamente para Rust
- redb v3.0.0 - almacén de clave-valor incrustado puro de Rust
- wrkflw v0.7.0 - ejecutar y validar acciones de GitHub localmente
- serde-ply - Serde (de)serializador moderno para archivos Ply)
- Quinto cumpleaños de Bevy
- warp v0.4
Observaciones/Pensamientos
- Construyendo un sistema de archivos FUSE asíncrono en Rust
- Nueve reglas para generalizar su biblioteca de Rust: lecciones de extender RangeSetBlaze a mapas (Parte 1)
- ¡Espera! ¡No generes esa tarea! — Comparación de patrones para el estado mutable en aplicaciones simultáneas
- Secreto de envío/sincronización que separa al profesional del aficionado
- hyper HTTP/2 (no) MadeYouReset
- ¿Estamos enseñando a Rust de manera efectiva?
- [video] BaM #29 - Mejora del firmware integrado de Rust
- [video] David Sankel – Rust y C++ Interop
Tutoriales de Rust
- Lecciones aprendidas de la implementación de algoritmos acelerados por SIMD (ChaCha20 / ChaCha12) en Rust puro
- Construir con Naz: Capturar el progreso de la construcción en tiempo real de la carga usando secuencias PTY y OSC
- Conversión de FunctionTrace de C a Rust
- [video] Encuadre de mensajes en Rust e Iroh
Crate de la semana
El crate de esta semana es MOMA, un marco para la aritmética modular de origen móvil, con aplicaciones en teoría de números, criptografía y bioinformática.
¡Gracias a Neil Crago 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 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.
- Arcadia - Creación de collage
- Arcadia - Recuperar datos de collage
- arcadia - Raspador de API para TVDB
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
464 solicitudes de extracción fueron [fusionadas en la última semana][fusionadas]
Compilador
- tener en cuenta las tuplas desnudas y los métodos 'Pin' en la lógica de búsqueda de campos
- detectar construcción 'struct' con campo privado en campo con valor predeterminado
- emita 'StorageLive' y programe 'StorageDead' para los enlaces de 'let'-'else' después de la coincidencia
- el tipo de llamada de cola de aplicación está relacionado con el tipo de retorno del cuerpo en borrowck
- fortificar comprobaciones predeterminadas de parámetros genéricos
- implementar 'stability_implications' sin un visitante
- implementar macros de atributos declarativas ('macro_rules!') (RFC #3697)
- mejorar la sugerencia para el "argumento de función faltante" en una llamada multilínea
- marcar todas las lints de obsolescencia en la resolución de nombres como denegar por defecto e informar en deps
- analizador: recuperar de atributos aplicados a tipos y argumentos genéricos
- recuperar 'para PAT = EXPR {}'
- conservar la sección '.debug_gdb_scripts'
- simplificar lint de código muerto
- actualizar 'semicolon_in_expressions_from_macros' de advertir a denegar
Biblioteca
- función de estabilización de 'duration_constructors_lite'
- función de estabilización 'panic_payload_as_str'
- estabilizar 'strict_overflow_ops'
- función de estabilización 'unsigned_signed_diff'
- estabilizar const 'TypeId::of'
- estabilizar loongarch32 asm en línea
- constificar los rasgos/impls restantes para 'const_ops'
- implementar 'continue_ok' y 'break_ok' para ControlFlow
- optimizar 'char::is_alphanumeric'
- imprimir ID de hilo en mensaje de pánico
- 'std::sys::io::io_slice': Agregar tipos UEFI
Carga
Rustdoc
- buscar: preferir elementos estables en los resultados de búsqueda
- corregir el almacenamiento en caché de enlaces intra-doc en las reexportaciones
Clippy
- arreglar 'infinite_loop' positivo
- no intente calcular el tamaño de un tipo con duraciones de escape
- no pelar para 'wildcard_imports' en macro externa
- corregir la verificación de tipo '&str' en 'from_str_radix_10'
- corregir sugerencia para 'collapsible_if' y 'collapsible_else_if' cuando el 'if' interno está entre paréntesis
- mover la pelusa 'cognitive_complexity' de 'vivero' a 'restricción'
- mover 'crosspointer_transmute' de 'complejidad' a 'sospechoso'
- optimizar la pelusa 'incompatible_msrv'
- optimizar la pelusa 'needless_bool'
- reutilizar la asignación anterior de 'Vec' en el bucle
Analizador de Rust
- agregar análisis de tipo de asignación para la finalización de IDE
- agregar eliminar el literal dbg stmt para 'remove_dbg'
- agregar write! y writeln! a minicore
- ¡Arregla 'extract_expressions_from_format_string' al escribir!
- corregir la definición de 'Respuesta' no compatible con LSP
- solucione el pánico al intentar borrar diagnósticos antiguos mientras no hay nada
- analizador: se corrige el análisis de la polaridad ligada a rasgos y los vinculadores for
Triaje de rendimiento del compilador de Rust
Esta semana casi no hubo regresiones, mientras que obtuvimos algunas buenas victorias. Uno de ellos fue #143684, que actualizó la versión LLVM utilizada por el compilador de Rust a 21.
Triaje realizado por @kobzol. Rango de revisión: 07b7dc90.. 6355cd39
Resumen:
| (instrucciones:U) | media | Gama | recuento |
|:----------------------------------:|:-----:|:---------------:|:-----:|
| Regresiones ❌
(primaria) | 0,5% | [0,2%, 0,8%] | 3 |
| Regresiones ❌
(secundaria) | 0,7% | [0,1%, 1,5%] | 8 |
| Mejoras ✅
(primaria) | -1,5% | [-22,8%, -0,2%] | 219 |
| Mejoras ✅
(secundario) | -2,9% | [-18,8%, -0,1%] | 256 |
| Todos ❌✅ (primarios) | -1,5% | [-22,8%, 0,8%] | 222 |
2 regresiones, 2 mejoras, 9 mixtas; 5 de ellos en rollups 37 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:
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
- Corregir la duración excesivamente restrictiva en el tipo de retorno 'core::p anic::Location::file'
- Problema de seguimiento para 'const_array_each_ref'
- Requiere la aprobación de t-infra en lugar de t-release en los aumentos de nivel
- const-eval: soporte completo para fragmentos de puntero
- No adviertas nunca a ningún lanzamiento 'como' como inalcanzable
- Puerto #[enlace] a la nueva infraestructura de análisis de atributos
- 'c_variadic' : Añadir advertencia de incompatibilidad futura para argumentos '...' sin un patrón fuera de los bloques extern
- Reescribir el nuevo analizador de argumentos de atributo
- Problema de seguimiento para array::repeat
RFC de Rust
Ningún artículo entró en el período de comentarios finales esta semana para Carga, Equipo de idiomas, Referencia del idioma, Pautas de código inseguro. o
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] Pasar punteros a 'const' en el ensamblador
- [nuevo] Incluir Clang en llvm-tools
- [nuevo] repr(ordenado_fields)
Próximos eventos
Rusty Eventos entre 2025-08-13 - 2025-09-10 🦀
Virtual
- 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-18 | Virtual (Kenia) | RustaceansKenia
- 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 | Híbrido (Ciudad de México, MX) | Rust MX
- 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 | Híbrido (Seattle, WA, EE. UU.) | RustConf
- 2025-09-02 | Virtual (Búfalo, Nueva York, EE. UU.) | Encuentro de Buffalo Rust
- 2025-09-03 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
- 2025-09-06 | Virtual (Kampala, UG) | Encuentro del Círculo de Rust
- 2025-09-07 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-09-09 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-09-09 | Virtual (Londres, Reino Unido) | Mujeres en Rust
Asia
- 2025-08-20 | Seúl, KR | Rust de Seúl
- 2025-08-23 | Bangalore, IN | Rust Bangalore
Europa
- 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
- 2025-09-03 | Fráncfort, DE | Rust Rhein-Main
- 2025-09-10 | Reading, Reino Unido | Taller de lectura de Rust
América del Norte
- 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 | Portland, Oregón, Estados Unidos | PDXRust
- 2025-08-18 | Denver, CO, EE. UU. | FOSS Rust Colorado
- 2025-08-20 | Híbrido (Vancouver, BC, CA) | Rust de Vancouver
- 2025-08-21 | Híbrido (Ciudad de México, MX) | Rust MX
- 2025-08-21 | Mountain View, CA, EE. UU. | Dojo hacker
- 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
- 2025-09-03 | Phoenix, AZ, EE. UU. | Rust del desierto
- 2025-09-04 | Phoenix, AZ, EE. UU. | Rust del desierto
- 2025-09-04 | Saint Louis, MO, EE. UU. | STL Rust
- 2025-09-06 | Boston, MA, EE. UU. | Reunión de Boston Rust
Oceanía
- 2025-08-26 | Barton, AU | Grupo de usuarios de Canberra Rust
- 2025-08-27 - 2025-08-30 | Wellington, Nueva Zelanda | Forja de Rust
América del Sur
- 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
- rendimiento sólido y herramientas para optimizarlo aún más: debido a que lo fácil es generalmente lo suficientemente rápido, es rápido desarrollar funciones incluso en un proyecto sensible al rendimiento
A pesar de la falta de sugerencias, llogiq se siente bastante bien con su elección.
¡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*