Esta semana en Rust #74
¡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 🥰
Fundación
Boletines
Actualizaciones de proyectos/herramientas
- El camino a SeaQuery 1.0
- rkik v1.0.0 - CLI de inspección NTPv4/v6 sin estado en Rust
- Introducción a la publicación segura de la carga
- Seguimiento de la confianza con Rust en el kernel
- Slint 1.13 lanzado con vista previa en vivo para Rust y C ++
Observaciones/Pensamientos
- Mordeduras de algoritmo de Rust - Recorrido de orden de nivel de árbol binario
- Añadiendo derivar (De) a Rust
- Por qué construí TLQ (Tiny Little Queue)
- Combinación de sintaxis literal de estructura con acceso a campos de solo lectura
- Tenga cuidado al copiar cadenas a cero con 'serde'
- Elefantes para el desayuno: probando funciones no comprobables, un bocado a la vez
- Desenredando los detalles: resolución de símbolos en Rusty Trap
- [video] Rust 1.89.0
Tutoriales de Rust
- Escribamos una macro en Rust - Parte 2
- Cómo configurar el registro de Rust en AWS Lambda para AWS CloudWatch
- Creación de una aplicación de tareas pendientes en GPUI
Investigación
- Compartir una referencia mutable con Python
- Faster Rust se compila en Mac
- Trucos de rendimiento de Rust
- [video] Taller de Rust incrustado
- [video] RustCurious 1: Por qué Rust es seguro: una introducción novedosa a la propiedad y los préstamos
Miscelánea
- Elementos de Rust: Un mapa completo del sistema de tipos Rust
- filtra.io entrevista con el equipo de 'Tonari' | Abriendo portales con Rust
- [audio] Hyper con Sean McArthur
- [video] Seminario de Berkeley | La búsqueda del rendimiento
Crate de la semana
El crate de esta semana es aehobak, un transcodificador para parches binarios bsdiff.
¡Gracias a David Michael Barr 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 para pruebas 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.
No se enviaron convocatorias de participación esta semana.
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.
No se enviaron convocatorias de artículos o presentaciones esta semana.
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
Se fusionaron 383 solicitudes de extracción en la última semana]
Compilador
Biblioteca
- añadir 'Bound::copied'
- añadir 'Duración::from_nanos_u128'
- añadir 'Opción::reducir'
- implementar Suma y Producto para 'Saturación(u*)
- implementación: '#[feature(nonpoison_condvar)]'
- optimizar '.ilog({2,10})' a '.ilog{2,10}()'
- str: Función de estabilización 'round_char_boundary'
Carga
- 'fix(cli)': Mostrar la ruta de manifiesto incorrecta
- agregar más contexto al mensaje de error de publicación
- feat: no se detenga al primer error al emitir lints y advertencias
Clippy
- 'map_identity': sugerir hacer que la variable sea mutable cuando sea necesario
- 'unit_cmp': no pelusa en la unidad explícitamente escrita expr
- permitir '--print=niveles-de-pelusa-raíz-caja'
- 'assertions_on_result_states' evitar cambiar el tipo de retorno en más casos
- 'collapsible_match' sugerir ref/derefs cuando sea necesario
- habilitar 'clippy::p anic' en contextos const
- corregir el falso positivo de 'needless_range_loop' al reunirse con una matriz multidimensional
- corregir 'alloc_instead_of_core' falso positivo cuando 'alloc' es un alias
- corregir 'needless_for_each' sugiriendo erróneamente con tipos de entrada de cierre explícitos
- corregir 'print_literal' sugiriendo erróneamente para un literal en línea después de un argumento numerado
- arreglar 'redundant_closure' sugiere erróneamente con la sobrecarga de deref
- suprimir 'excessive_precision' cuando las constantes son demasiado precisas
Analizador de Rust
- agregar barras de progreso a más lugares en análisis-estadísticas
- adjuntar la base de datos en un lugar más en el resaltado
- evite que la opción '--target' se dé dos veces a 'rustc' cuando se invoca a través de 'cargo rustc' mientras obtiene el diseño de datos de destino
- deduplicar métodos en finalización por ID de función y no por nombre
- en 'highlight_related', cuando esté en un bloque inseguro, no resalte las operaciones inseguras de otros bloques inseguros
- al mapear el tipo 'dyn' de next-solver, agregue 'Self' (también conocido como var vinculado ^ 1.0) a las sustituciones de rasgos automáticos
- resolución de rasgos de caché en consultas en la misma revisión
Triaje de rendimiento del compilador de Rust
Una semana relativamente tranquila. #144841 agregó un Optimización para construcciones incrementales que proporcionaron una muy buena victoria para la caja 'Nalgebra'. #143290 debería ayudar a evitar la creación de instancias de funciones asíncronas repetidamente en cajas aguas abajo.
Triaje realizado por @kobzol.. - Rango de revisión: ee361e8f.. 75ee9ffd
Resumen:
| (instrucciones:U) | media | Gama | recuento |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regresiones ❌
(primaria) | 0,3% | [0,2%, 0,4%] | 7 |
| Regresiones ❌
(secundaria) | 2.0% | [0,1%, 13,6%] | 30 |
| Mejoras ✅
(primaria) | -1,9% | [-7,0%, -0,3%] | 17 |
| Mejoras ✅
(secundario) | -0,7% | [-1,7%, -0,1%] | 23 |
| Todos ❌✅ (primarios) | -1,2% | [-7,0%, 0,4%] | 24 |
1 Regresión, 3 Mejoras, 6 Mixto; 5 de ellos en rollups 45 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:
- No se aprobaron RFC 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
- no aplique reglas de extensión temporal de por vida a 'super let' no extendido
- [disposición: no especificada] Estabilizar 'new_zeroed_alloc'
- No materializar X en [X; 0] cuando X está desdimensionando una const
- Rechazar sufijos literales no válidos en la indexación de tuplas, la indexación de estructuras de tuplas y la posición del nombre de campo de estructura
- Estabilizar 'std::p anic::Location::file_as_c_str'
- Corregir backtraces con '-C panic=abort' en linux; emitir tablas de desenredo por defecto
- Iterador especializado::eq{_by} para iteradores TrustedLen
Ningún artículo entró en el período de comentarios finales esta semana para RFC de Rust, Carga, Equipo de idiomas, Referencia del idioma 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
- No se crearon RFC nuevos o actualizados esta semana.
Próximos eventos
Rusty Eventos entre 2025-09-03 - 2025-10-01 🦀
Virtual
- 2025-09-02 - 2025-09-05 | Híbrido (Seattle, WA, EE. UU.) | RustConf
- 2025-09-03 | Virtual (Cardiff, Reino Unido) | Rust y C++ Cardiff
- 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
- 2025-09-11 | Virtual (Berlín, Alemania) | Rust Berlin
- 2025-09-11 | Virtual (San Diego, CA, EE. UU.) | Rust de San Diego
- 2025-09-14 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-09-15 | Virtual (Charlottesville, VA, EE. UU.) | Encuentro de Charlottesville Rust
- 2025-09-16 | Virtual (Washington, DC, EE. UU.) | Rust DC
- 2025-09-17 | Virtual (Vancouver, BC, CA) | Rust de Vancouver
- 2025-09-18 | Virtual (Núremberg, DE) | Rust de Nuremberg
- 2025-09-23 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-09-25 | Virtual (Berlín, Alemania) | Rust Berlin
- 2025-10-01 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
África
- 2025-09-09 | Johannesburgo, ZA | Reunión de Johannesburgo Rust
Asia
- 2025-09-13 | Hangzhou, CN | WebAssembly y Rust Meetup (Wasm Empowering AI)
- 2025-09-13 - 2025-09-14 | Hangzhou, CN | GOSIM
- 2025-09-17 | Tel Aviv-yafo, IL | Rust 🦀 TLV
Europa
- 2025-09-03 | Dortmund, DE | Rust, Dortmund
- 2025-09-03 | Edimburgo, Reino Unido | Rust y sus amigos
- 2025-09-03 | Fráncfort, DE | Rust Rhein-Main
- 2025-09-03 | Oxford, Reino Unido | Encuentro de Oxford ACCU/Rust.
- 2025-09-04 | Berlín, DE | Rust Berlin
- 2025-09-04 | Gdansk, PL | Rust Gdansk
- 2025-09-10 | Reading, Reino Unido | Taller de lectura de Rust
- 2025-09-11 | Berna, CH | Rust Bern
- 2025-09-16 - 2025-09-18 | Berlín, DE | Conferencia Oxidar
- 2025-09-16 | Leipzig, DE | Rust - Programación de sistemas modernos en Leipzig
- 2025-09-17 | Girona, ES | Rust Girona | Silicio Girona
- 2025-09-18 | Aarhus, DK | Rust Aarhus
- 2025-09-24 | München, DE | Rust Múnich
- 2025-10-01 | Olomouc, CZ | Rust Moravia
América del Norte
- 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 | Montreal, QC, CA | Rust Montréal
- 2025-09-04 | Mountain View, CA, EE. UU. | Dojo hacker
- 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
- 2025-09-09 | Nueva York, NY, EE. UU. | Rust NYC
- 2025-09-10 | Phoenix, AZ, EE. UU. | Rust del desierto
- 2025-09-11 | Lehi, UT, EE. UU. | Rust de Utah
- 2025-09-11 | Ciudad de México, MX | Rust MX
- 2025-09-14 | Boston, MA, EE. UU. | Reunión de Boston Rust
- 2025-09-16 | San Francisco, CA, EE. UU. | Grupo de Estudio de Roya de San Francisco
- 2025-09-16 | San Francisco, CA, EE. UU. | Red Vara
- 2025-09-17 | Charlottesville, VA, EE. UU. | Encuentro de Charlottesville Rust
- 2025-09-18 | Nashville, TN, EE. UU. | Desarrolladores de Music City Rust
- 2025-09-18 | Seattle, WA, EE. UU. | Grupo de usuarios de Seattle Rust
- 2025-09-24 | Austin, TX, EE. UU. | Rust ATX
- 2025-09-25 | Atlanta, GA, EE. UU. | Rust Atlanta
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
¡Errores como este son los peores! Es casi imposible detectarlos en el desarrollo, porque nunca hay suficiente carga en el sistema para obligar al programador a mover la ejecución a otro subproceso. Entonces, terminas con uno de estos errores "imposibles de reproducir, fallas a veces, pero nunca para ti".
Es alucinantemente genial que el compilador de Rust pueda detectar algo como esto. Y que partes aparentemente no relacionadas del lenguaje, como las exclusiones mutuas, las vidas y las operaciones asíncronas, forman un sistema tan coherente.
¡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*