Esta semana en Rust #77
¡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
- Anuncio de Rust 1.90.0 | Blog de Rust
- Microencuesta de genéricos variádicos
- Selecciones de representantes del Consejo de Liderazgo de septiembre de 2025
- crates.io: Cajas maliciosas faster_log y async_println
Actualizaciones de proyectos/herramientas
- ¡Temporal_rs está aquí! La biblioteca de fecha y hora que alimenta Temporal en Boa y V8
- Actualización de Wild Linker - 0.6.0
- Lucha contra la trata de personas con aplicaciones autónomas
- CHERI con un Linux en la parte superior
- SeaORM 2.0: Una mirada más cercana
- GuardianDB: La implementación de OrbitDB en Rust. Una base de datos peer-to-peer para la Web Descentralizada.
- Styx Emulator: Un nuevo marco de emulación para DSP, SoC extraños y sistemas integrados
- GlueSQL v0.18.0 agrega soporte para Send/Sync y una nueva macro de derivación para el mapeo de filas con tipo
- Implementación automática de TLS para Pingoo: esto es lo que se necesita para construir una Internet segura
Observaciones/Pensamientos
- Un ecosistema de Rust más estable
- Comparando el Rust con el carbono
- Cancelación de Rust asíncrono
- Experiencia de contribución de Rust: de un extraño curioso a un defensor de GreptimeDB: mi viaje hacia la contribución de código abierto
- ¿Por qué Rust?
Tutoriales de Rust
- Pruebas unitarias de Rust: herramientas integradas
- Del Rust a la realidad: el viaje oculto de fetch_max
- Reducción del tamaño binario de los programas (Rust) con debuginfo
- Serie de backend de Axum: modelos, migración, DTO y patrón de repositorio
- [video] charlando sobre Rust / concurrencia
- [video] Introducción a micro:bit y Embedded Rust
- [video] (Kernel) Cambio de tareas en Rust
Miscelánea
Crate de la semana
El crate de esta semana es faer, una biblioteca de álgebra lineal de propósito general para Rust, con un enfoque en el alto rendimiento para operaciones algebraicas en matrices medianas/grandes, así como descomposiciones de matrices.
A pesar de que pasó otra semana sin una caja semanal sugerida, llogiq está satisfecho con su elecció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.
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.
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!
- this-week-in-rust - Faltan atributos lang HTML para sitios web
- GreptimeDb - Admite señal de perfil para OLTP
- GreptimeDb - Actualmente KILL no puede terminar consultas como INSERT INTO SELECT
- GreptimeDb - Admite la exportación de archivos CSV o JSON comprimidos
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
430 solicitudes de extracción fueron [fusionadas en la última semana][fusionadas]
Compilador
- '-Znext-solver' allow 'ExprKind::Call' para opacos aún no definidos
- destinoPropagación: evitar la creación de asignaciones superpuestas
- detectar intento de usar var-args en el cierre
- no aplique reglas de extensión temporal de por vida a 'super let' no extendido
- habilitar DestinationPropagation de forma predeterminada
- pelusa más asignaciones superpuestas en MIR
- eliminar 'Rvalue::Len' de nuevo
- sugerir eliminar 'Box::new' en lugar de desempaquetarlo
Biblioteca
- agregue '[const] PartialEq' vinculado a 'PartialOrd'
- repetición del iterador: no hay bucle infinito para 'último' y 'recuento'
- hacer que 'PeekMut' sea genérico sobre el asignador
- especialízate en 'Iterator::eq{_by}' para iteradores 'TrustedLen'
- función de estabilización 'btree_entry_insert'
- estabilizar 'new_zeroed_alloc'
- estabilizar 'std::p anic::Ubicación::file_as_c_str'
- corregir la implementación WASI de 'remove_dir_all'
- fusionar definiciones de 'StdioPipes'
- simplificar la búsqueda de host
Carga
- 'fix(frontmatter)': Mejorar la calidad de los errores
- feat: agregar lint para el uso global de 'hint-mostly-unused'
Rustdoc
Clippy
- 'match_as_ref': no pelusa si el otro brazo no es 'Ninguno => Ninguno'
- 'redundant_clone': el iterador dividido se verifica en 'redundant_iter_cloned'
- 'transmute_ptr_to_ref': no sugiera '.cast' cuando to-type es DST
- agregue 'clippy::self_only_used_in_recursion' lint
- no reemplace '.unwrap_or(vec![])' por '.unwrap_or_default()'
- 'nonstandard_macro_braces': sugerir punto y coma final cuando sea necesario
- corregir 'option_if_let_else' cuando se ignora la variante 'Err'
- corregir 'question_mark' falso positivo en las variables utilizadas después
- corregir 'unnecessary_semicolon' falso negativo en '#[feature(stmt_expr_attributes)]'
- arreglar 'unnecessary_unwrap' falso negativo
- tenga en cuenta que el uso de 'enumerate()' intercambiará los argumentos
- reelaboración 'module_inception'
- sugerencia para 'rest_pat_in_fully_bound_structs'
Analizador de Rust
- 'hover': unificar el formato de la regla horizontal a '---'
- agregue 'rust-analyzer.semanticHighlighting.comments.enable'
- corregir las ramas 'IfExpr' sugiere
- corregir la finalización de 'else' antes de la palabra clave 'else'
- arreglar 'extract_variable' en 'LetExpr'
- corregir el campo de registro abreviado 'unused_variables'
- arreglar aplicar en el if interno para 'pull_assignment_up'
- corregir literales enteros genéricos const negativos
- corrección no aplicable a la coma final para 'remove_dbg'
- corregir pánicos en 'Foo{mut x}' para 'destructure_struct_binding'
- corrección para implementar 'stdx::replace'
- corregir el manejo de elisión de por vida para los límites de rasgos de estilo 'Fn'
- hacer que el borrado de cheques tenga en cuenta la dependencia
- portar un montón de cosas de rustc y corregir un montón de discrepancias de tipos/diagnósticos
Triaje de rendimiento del compilador de Rust
Mover el argumento de la línea de comandos que cita de C++ a Rust (#146700) dio como resultado un buen rendimiento Gane cuando se trata de muchas dependencias y grandes espacios de trabajo. Una propagación de destino algo costosa el paso del compilador estaba habilitado de forma predeterminada (#142915), lo que resultó en algunas regresiones de tiempo de compilación, pero debería dar lugar a un mejor rendimiento en tiempo de ejecución. El resto de cambios fueron pequeños.
Triaje realizado por @kobzol. Rango de revisión: 52618eb3.. ce4beebe
Resumen:
| (instrucciones:U) | media | Gama | recuento |
|:----------------------------------:|:-----:|:---------------:|:-----:|
| Regresiones ❌
(primaria) | 0,3% | [0,1%, 1,9%] | 61 |
| Regresiones ❌
(secundaria) | 0,6% | [0,1%, 3,4%] | 90 |
| Mejoras ✅
(primaria) | -0,5% | [-1,9%, -0,2%] | 29 |
| Mejoras ✅
(secundario) | -1,3% | [-22,8%, -0,1%] | 71 |
| Todos ❌✅ (primarios) | 0,0% | [-1,9%, 1,9%] | 90 |
1 Regresión, 4 Mejoras, 4 Mixto; 4 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:
- 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
- la corrección de compatibilidad '#[track_caller]' no debe heredar '#[no_mangle]'
- Permitir el préstamo de elementos de matriz de estructuras empaquetadas con alineación ABI <= alineación empaquetada
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, Consejo de Liderazgo 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
Próximos eventos
Rusty Eventos entre 2025-09-24 - 2025-10-22 🦀
Virtual
- 2025-09-25 | Virtual (Berlín, Alemania) | Rust Berlin
- 2025-09-28 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-10-01 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
- 2025-10-02 | Virtual (Girona, ES) | Rust Girona | Silicio Girona
- 2025-10-04 | Virtual (Kampala, UG) | Encuentro del Círculo de Rust
- 2025-10-05 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-10-07 | Virtual (Beijing, CN) | WebAssembly y Rust Meetup (Wasm Empowering AI)
- 2025-10-09 | Virtual (Berlín, Alemania) | Rust Berlin
- 2025-10-09 | Virtual (Girona, ES) | Rust Girona | Silicio Girona
- 2025-10-09 - 2025-10-10 | Híbrido (París, Francia) | EuroRust
- 2025-10-12 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-10-14 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-10-15 | Virtual (Vancouver, BC, CA) | Rust de Vancouver
- 2025-10-16 | Virtual (Girona, ES) | Rust Girona | Silicio Girona
- 2025-10-16 | Virtual (Núremberg, DE) | Rust de Nuremberg
- 2025-10-19 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-10-21 | Virtual (Londres, Reino Unido) | Mujeres en Rust
- 2025-10-21 | Virtual (Washington, DC, EE. UU.) | Rust DC
Asia
- 2025-10-02 | Seúl, KR | Reunión de Seoul Rust (lenguaje de programación)
- 2025-10-04 | Bangalore, IN | Rust Bangalore
- 2025-10-08 | Kuala Lumpur, MY | Rust Malasia
- 2025-10-09 | Tokio, JP | Encuentro de Tokyo Rust
- 2025-10-20 | Tel Aviv-yafo, IL | Rust 🦀 TLV
Europa
- 2025-09-24 | Gotemburgo, SE | Rust, Göteborg
- 2025-09-24 | München, DE | Rust Múnich
- 2025-09-25 | Augsburgo, DE | Rust Augsburg
- 2025-09-25 | Copenhague, Dinamarca | Comunidad de Copenhagen Rust
- 2025-09-25 | Londres, Reino Unido | Mujeres en Rust
- 2025-09-27 | Estocolmo, SE | Rust de Estocolmo
- 2025-09-30 | Londres, Reino Unido | Grupo de usuarios de Rust London
- 2025-10-01 | Olomouc, CZ | Rust Moravia
- 2025-10-01 | Oxford, Reino Unido | Encuentro de Oxford ACCU/Rust.
- 2025-10-01 | París, FR | Rustáceos de París
- 2025-10-02 | Oslo, NO | Rust Oslo
- 2025-10-08 | Girona, ES | Rust Girona | Silicio Girona
- 2025-10-08 | París, FR | Rust París
- 2025-10-08 | Reading, Reino Unido | Taller de lectura de Rust
- 2025-10-09 - 2025-10-10 | Híbrido (París, Francia) | EuroRust
- 2025-10-14 | Basilea, CH | Rust Basel
- 2025-10-21 | Aarhus, DK | Rust Aarhus
- 2025-10-21 | Leipzig, SN, DE | Rust - Programación de sistemas modernos en Leipzig
- 2025-10-21 | Londres, Reino Unido | Grupo del Proyecto Rust de Londres
América del Norte
- 2025-09-24 | Austin, TX, EE. UU. | Rust ATX
- 2025-09-24 | Charlottesville, VA, EE. UU. | Encuentro de Charlottesville Rust
- 2025-09-24 | Chicago, IL, EE. UU. | Reunión de Chicago Rust
- 2025-09-24 | Nueva York, NY, EE. UU. | Rust NYC
- 2025-09-25 | Atlanta, GA, EE. UU. | Rust Atlanta
- 2025-09-25 | Nashville, TN, EE. UU. | Desarrolladores de Music City Rust
- 2025-09-27 | Boston, MA, EE. UU. | Reunión de Boston Rust
- 2025-09-30 | Boston, MA, EE. UU. | Reunión de Boston Rust
- 2025-10-02 | Mountain View, CA, EE. UU. | Dojo hacker
- 2025-10-02 | Saint Louis, MO, EE. UU. | STL Rust
- 2025-10-04 | Boston, MA, EE. UU. | Reunión de Boston Rust
- 2025-10-09 | Lehi, UT, EE. UU. | Rust de Utah
- 2025-10-16 | Nashville, TN, EE. UU. | Desarrolladores de Music City Rust
- 2025-10-21 | San Francisco, CA, EE. UU. | Grupo de Estudio de Roya de San Francisco
- 2025-10-21 | San Francisco, CA, EE. UU. | Vara & Equipo
- 2025-10-22 | Austin, TX, EE. UU. | Rust ATX
Oceanía:
- 2025-10-01 | Perth, WA, AU | Grupo de encuentro de Rust Perth
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
Estamos aquí para aprender. Lo haremos sin descanso.
¡Gracias a John Arundel 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*