Esta semana en Rust #73
¡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 🥰
Actualizaciones de proyectos/herramientas
- StrongBox: cifrado de datos simple y seguro para Rust
- Mensajería del Danubio - Versión 0.4.0 - Aspectos destacados
Observaciones/Pensamientos
- Emulando aarch64 en software usando compilación JIT y Rust
- el núcleo del Rust
- Dificultar el cambio fácil
- Intentando obtener correctamente los backtraces de error en las bibliotecas de Rust
- El inesperado aumento de productividad de Rust
- [audio] Netstack.FM — Episodio 2: Hyper con Sean McArthur
Tutoriales de Rust
- Rust ints a Rust enumeraciones con menos instrucciones
- Interactividad de GPUI: creación de una aplicación de contador
- Rust para ingenieros de JavaScript - Building Connect-4
- Construyendo un sistema de complementos para Rust: bibliotecas nativas vs lenguaje de scripting vs WASM vs motor de reglas
- Hacer una pequeña pelusa Clippy
- Trampas de plagas
- Deficiencias de las macros y cómo superarlas
- [video] Controlador FAT32 integrado mínimo - ¡en Rust!
Miscelánea
Crate de la semana
El crate de esta semana es web-route, una biblioteca para definir y administrar ergonómicamente las rutas del servidor web en Rust.
¡Gracias a sidrubs 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 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.
- greptimedb - Añadir formato de fecha y marca de tiempo a COPIAR A (CSV, JSON)
- greptimedb - Agregar opciones de compresión a COPIAR A
- greptimedb - Actualmente KILL no puede terminar consultas como INSERT INTO SELECT
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 553 solicitudes de extracción en la última semana]
Compilador
- degradar 'x86_64-apple-darwin' al Nivel 2 con herramientas de host
- 'rustc_expand': asegúrese de la pila en 'InvocationCollector::visit_expr'
- Cuenta de límites imposibles que hacen lanzamientos de dina a dina aparentemente insatisfactorios
- agregar lint contra entero para transmutar el puntero
- corregir ICE al validar la transmutación de ZST a 'enumeración' habitado
- refactorizar el análisis de atributos para mejorar la ergonomía y algunos diagnósticos
- simplificar cachés de intervalo
- optimizar ligeramente la lectura de los archivos fuente
- miri: tenga en cuenta el tiempo dedicado al rastreo, use RDTSC para un tiempo más rápido
- miri: apoyar definiciones débiles
Biblioteca
- 'UnsafePinned::raw_get': sincronizar firma con get
- 'bufreader::Buffer::backshift': no mueve los bytes de uninit
- experimento: rasgo de repetición prestado
- corregir el orden de los parámetros para las variantes '_by()' de 'min' / 'max' / 'minmax' en 'std::cmp'
- FMT de la base no decimal desenredada
- implementación: '#[feature(nonpoison_rwlock)]'
- estabilizar 'const_array_each_ref'
- función de estabilización 'const_pathbuf_osstring_new'
- hashbrown: funciones 'get_inner' para restaurar el rendimiento de la búsqueda
Carga
- carga: sistema de pelusa
- cargo: sugerir sugerencias de espacio de trabajo para dependencias booleanas
Rustdoc
- agregar soporte para la expansión de macros en las páginas de código fuente de Rustdoc
- hacer que los atributos se representen de manera consistente
- renderizar atributos en las secciones Campo y Variantes
Clippy
- clippy: 'bool_comparison': corregir sugerencia incorrecta con '>'/'<' y macros
- clippy: 'bool_comparison': ya no se suelta pelusa en '!x != y'
- clippy: 'cast_slice_from_raw_parts': comprobar si hay conversión implícita a puntero de corte sin procesar
- clippy: 'ptr_as_ptr': corregir sugerencia incorrecta con 'pointer::cast' y macros
- clippy: 'too_many_lines': solo resalta la firma de la función
- clippy: 'unnecessary_mut_passed': agregar sugerencia estructurada
- clippy: 'unused_unit': no pelusa en los tipos de retorno de cierre
- clippy: mejor verifique 'assign_op_pattern' en el contexto 'const'
- clippy: verifique f16 y f128 en 'float_equality_without_abs'
- clippy: detecta un bucle infinito en 'async fn' que no devuelve '!'
- clippy: no reemplace 'match' por 'if' si algún brazo contiene un enlace
- clippy: arreglar 'unnecessary_safety_comment' no pelusa para la primera línea
- clippy: arreglar 'async_yields_async' macros mal destruídas
- clippy: arreglar 'derivable_impls' sugiere erróneamente en 'derive_const'
- clippy: arreglar 'manual_is_ascii_check': también agregar tipo explícito al linting 'coincide!'
- clippy: fix 'or_then_unwrap': la sugerencia conserva las llamadas macro
- clippy: corregir el falso positivo 'semicolon_inside_block' cuando el atributo sobre expr no está habilitado
- clippy: corregir el falso positivo 'unnested_or_patterns' en estructuras con solo parcelas de campo abreviadas
Analizador de Rust
- analizador de Rust: 'replace_arith_op' no aplicable en seleccionados
- rust-analyzer: agregue la sugerencia de finalización 'ReturnExpr'
- rust-analyzer: agregar soporte de finalización de let en let-chain
- Rust-analyzer: Se ha añadido una opción para ocultar los représtamos en las sugerencias de incrustación de ajuste
- rust-analyzer: corrige la finalización de 'else' en 'let _ = if x {} $0'
- Rust-analyzer: Corregir el pánico en 'syntax_highlighting'
- rust-analyzer: corregir la referencia de rust-analyzer-contributors
- Analizador de Rust: corregir la sangría en 'move_guard_to_arm_body'
- Analizador de Rust: corregir genéricos opacos
- Rust-analyzer: mejorar el manejo del punto y coma en 'toggle_macro_delimiter'
- Analizador de Rust: Recursión infinita mientras se reducen los límites de tipo assoc de los superrasgos
- Rust-analyzer: hacer que el orden de clasificación de importación siga el estilo de edición 2024
- rust-analyzer: se hace pasar por carga nocturna al invocar flycheck con '-Zscript'
- Analizador de Rust: normalizar todos los tipos al finalizar la inferencia
- rust-analyzer: eliminar llamadas innecesarias a 'salsa::attach()'
Triaje de rendimiento del compilador de Rust
Muchas regresiones esta semana, principalmente en los puntos de referencia de rustdoc de las características recién agregadas. El resto de la suite vio en su mayoría pequeñas regresiones en pequeños puntos de referencia y también algunas mejoras, en particular de la optimización del análisis del árbol de tokens en el código de macros, la optimización del intervalo y el trabajo en curso en el nuevo solucionador, que aún no está completamente habilitado.
Triaje realizado por @panstromek. Rango de revisión: 239e8b1b.. ee361e8f
Resumen:
| (instrucciones:U) | media | Gama | recuento |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regresiones ❌
(primaria) | 3,7% | [0,3%, 34,5%] | 42 |
| Regresiones ❌
(secundaria) | 2,3% | [0,0%, 53,3%] | 79 |
| Mejoras ✅
(primaria) | -0,5% | [-0,7%, -0,3%] | 9 |
| Mejoras ✅
(secundario) | -0,9% | [-2,8%, -0,0%] | 30 |
| Todos ❌✅ (primarios) | 3.0% | [-0,7%, 34,5%] | 51 |
5 regresiones, 1 mejora, 7 mixtas; 6 de ellos en rollups 38 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
- Problema de seguimiento para nombres de archivo terminados en NUL con '#[track_caller]'
- guía de estilo: Ausencia de espacios en blanco finales del documento
- Estabilizar parcialmente los conceptos básicos de 'bigint_helper_methods'
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
- [nuevo] Superrasgo Impl automático
- [nuevo] RFC: Atributo autogenerado
Próximos eventos
Rusty Eventos entre 2025-08-27 - 2025-09-24 🦀
Virtual
- 2025-08-28 | Virtual (Berlín, Alemania) | Rust Berlin
- 2025-08-28 | Virtual (Los Ángeles, CA, EE. UU.) | Rust Los Ángeles
- 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-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
- 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
Á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-08-27 | Londres, Reino Unido | Grupo de usuarios de Rust London
- 2025-08-28 | Copenhague, Dinamarca | Comunidad de Copenhagen Rust
- 2025-08-28 | Edimburgo, Reino Unido | Rust y sus amigos
- 2025-08-28 | Manchester, Reino Unido | Rust Manchester
- 2025-08-29 | Edimburgo, Reino Unido | Rust y sus amigos
- 2025-08-30 | Estocolmo, SE | Rust de Estocolmo
- 2025-09-03 | Edimburgo, Reino Unido | Rust y sus amigos
- 2025-09-03 | Fráncfort, DE | Rust Rhein-Main
- 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
América del Norte
- 2025-08-27 | Austin, TX, EE. UU. | Rust ATX
- 2025-08-28 | Atlanta, GA, EE. UU. | Rust Atlanta
- 2025-08-28 | Chicago, IL, EE. UU. | Reunión de Chicago Rust
- 2025-08-28 | Los Ángeles, CA, EE. UU. | Rust Los Ángeles
- 2025-09-02 - 2025-09-05 | Híbrido (Seattle, WA, EE. UU.) | RustConf
- 2025-09-04 | Mountain View, CA, EE. UU. | Dojo hacker
- 2025-09-03 | Phoenix, AZ, EE. UU. | Rust del desierto
- 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-10 | Phoenix, AZ, EE. UU. | Rust del desierto
- 2025-09-11 | Lehi, UT, EE. UU. | Rust de Utah
- 2025-09-11 | Seattle, WA, EE. UU. | Grupo de usuarios de Seattle Rust
- 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-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
Oceanía
- 2025-08-27 - 2025-08-30 | Wellington, Nueva Zelanda | Forja de Rust
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
'clono ()' todo ahora. El Comprobador de Préstamos permite esta pequeña rebelión, esta ineficiencia. Sabe que sufro más sabiendo que mi código no es idiomático. Cada '.clone()' es una confesión de mi fracaso. Cada 'Arco<Mutex>' es un monumento a mi insuficiencia.
– /u/TheEldenLorrdd en /r/rust
¡Gracias a Colin Terry 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*