Esta semana en Rust #56
¡Hola y bienvenidos a otro número de This Week in Rust! Rust es un lenguaje de programación que permite a todo el mundo crear software fiable 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íanos un PR. ¿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, por favor envíe un PR.
¿Quieres tener TWIR en tu bandeja de entrada? Suscríbete aquí.
Actualizaciones de la comunidad de Rust 🥰
Oficial
Boletines
Actualizaciones de proyectos/herramientas
- Shadertoys portado a la GPU Rust
- Meilisearch 1.14 - incrustadores compuestos, caché de incrustación, atributos filtrables granulares y recuperación de documentos por lotes por ID
- Consulta de Rust 0.4: Tipos estructurales y otras características nuevas
Observaciones/Pensamientos
- Reconstrucción de la interfaz de usuario de Prime Video con Rust y WebAssembly
- ALP Rust es más rápido que C++
- ¿Y si el veneno fuera Rust?
- Una sorprendente optimización del tamaño de la enumeración en el compilador de Rust
- Dos años de Rust
- Una arquitectura ECS lite
- Una encuesta de 2025 sobre las bibliotecas GUI de Rust
- BTrees, índices invertidos y un modelo para la búsqueda de texto completo
- Reducción de los tiempos de compilación de Rust de 30 a 2 minutos con mil cajas
- SIMD en zlib-rs (parte 1): Autovectorización y características objetivo
- Evitando la fragmentación de memoria en Rust con jemalloc
- [video] Bevy Basics: Who Observes the Observer
Tutoriales de Rust
- Inmersión profunda en el sistema de tipo de Rust desde los GAT hasta el borrado de tipos
- Asincrónico desde cero 1: ¿Qué hay en el futuro, de todos modos? | Las divagaciones de Natkr
- Async from scratch 2: Wake me maybe | natkr's divblings
- Construyendo un motor de búsqueda desde cero, en Rust: parte 4
- Bonitos patrones de máquina de estado en Rust
- [video] Build with Naz : Macros declarativas en Rust
Miscelánea
Crate de la semana
El crate de esta semana es wgpu, una biblioteca de gráficos y computación multiplataforma basada en WebGPU.
A pesar de la falta de sugerencias, llogiq está satisfecho con su elección.
Por favor, envíen sus sugerencias y votos para la próxima semana!
Llamadas a la realización 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 características y desea que su RFC aparezca en esta lista, agregue un 'call-for-testing' a su RFC junto con un comentario que proporcione instrucciones de prueba y/o orientación sobre qué aspectos de la función deben probarse.
- No se emitieron convocatorias para pruebas esta semana por Rust, RFC del lenguaje Rust o Oxidación.*
Háganoslo saber si desea que se realice un seguimiento de su función como parte de esta lista.
RFCs
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.
Llamado a la participación; Proyectos y ponentes
CFP - Proyectos
¿Siempre quisiste contribuir a proyectos de código abierto pero no sabías por dónde empezar? ¡Cada semana destacamos algunas tareas de la comunidad de Rust para que 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 - añadir comando de servicio a rama-cli
- rama - añadir soporte para include_dir para ServeDir y relacionados
- rama - añadir módulo curl a rama-http-types
Si eres propietario de un proyecto de Rust y estás buscando colaboradores, por favor envía tareas aquí o a través de un PR to TWiR o poniéndote en contacto con X (antes 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 que 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 to TWiR o comunicándose en X (anteriormente Twitter) o Mastodon!
Actualizaciones del Proyecto Rust
480 solicitudes de extracción fueron [fusionadas en la última semana][fusionadas]
Compilador
- detectar y proporcionar sugerencias para '&raw EXPR'
- no sugiera el uso de 'impl Trait' en el parámetro de cierre
- hacer que el compilador sugiera rutas reales en lugar de rutas visibles si las rutas visibles están a través de cualquier ruta oculta del documento
- dígale a LLVM sobre etiquetas de nicho imposibles
- eliminar 'Nonterminal' y 'TokenKind::Interpolated'
- reutilizar la ruta rápida 'dimensionada'
Biblioteca
- add 'core::intrinsics::simd::{simd_extract_dyn, simd_insert_dyn}'
- implementación inicial de 'UnsafePinned' (Parte 1: Libs)
- polymorphize 'array::IntoIter's iterator impl
- acelera 'String::p ush' y 'String::insert'
- std: add 'Output::exit_ok'
Carga
- añadida resolución de enlace simbólico para 'workspace-path-hash'
- Mensaje de error mejorado cuando la plantilla build-dir var no es válida
Rustdoc
Clippy
- 'arbitrary_source_item_ordering' debería ignorar los módulos de prueba
- 'implicit_return': mejor manejo del código asíncrono
- aceptar 'self.cmp(other).into()' como 'PartialOrd' canónico impl
- añadir pelusa 'manual_abs_diff'
- los retornos consecutivos ya no disminuyen el nivel de complejidad cognitiva
- considere las vidas anidadas en 'mut_from_ref'
- manejar correctamente el tipo entre corchetes en 'default_constructed_unit_struct'
- desaprobar 'match_on_vec_items' lint
- no proponga autoderivar 'Clonar' en presencia de campos inseguros
- corrección: 'iter_cloned_collect' falso positivo con impl personalizado 'From'/'IntoIterator'
- corrección: 'map_entry': no emitir lint antes de que se hayan realizado las comprobaciones
- corrección: 'redundant_clone' falso positivo en la superposición de vidas
- varias correcciones para 'manual_is_power_of_two'
Analizador de Rust
- ast: devuelve los tipos correctos para los métodos 'make::expr_*'
- Función de agregar módulos secundarios
- add normalizeDriveLetter
- distribuya compilaciones de Linux x64 y aarch64 con optimizaciones PGO
- arreglar el código de compatibilidad de dyn omitiendo la consulta 'callable_item_signature'
- Arreglar un pequeño error con efectos catastróficos
- arreglar un 'ExpressionStore' incorrecto que se pasó
- prevenir pánicos cuando hay una dependencia cíclica entre cierres
- Tipo de sombra por módulo
- ignorar los errores de rustfmt que pueden desencadenar la notificación de errores
- inferencia de cierre de puerto de rustc
Clasificación del rendimiento del compilador de Rust
Cambios relativamente pequeños esta semana, nada terriblemente impactante (positivo o negativo).
Triaje realizado por @simulacrum. Rango de revisión: e643f59f.. 15f58c46
1 Regresiones, 3 Mejoras, 3 Mixtas; 2 de ellos en rollups 35 comparaciones de artefactos realizadas en total
RFC aprobados
Los cambios en Rust siguen el proceso de Rust RFC (solicitud de comentarios). Estos son las RFC que se aprobaron para su implementación esta semana:
- No se aprobaron RFC esta semana.
Período final de comentarios
Cada semana, el equipo anuncia el 'período final de comentarios' para las RFC y las RP clave que están llegando a una decisión. Expresa tus opiniones ahora.
Seguimiento de problemas y relaciones públicas
Rust
- Dividir elided_lifetime_in_paths en atado y desatado
- Comprobar los tipos de valores predeterminados de los parámetros const
- Estabilizar banderas para la compilación cruzada doctest
- No eliminar el trivial 'SwitchInt' en el análisis MIR
- Implementar un lint para la referencia automática implícita de la desreferencia de puntero sin procesar - tome 2
- Implementar 'Predeterminado' para punteros sin procesar
- hacer abi_unsupported_vector_types un error grave
- Estabilizar cadenas en la edición de 2024
- Hacer que la captura de cierre tenga un comportamiento consistente y correcto en torno a los patrones
- Estabilizar la función 'cell_update'
Otras áreas
- *No hay artículos ingresados al Período Final de Comentarios esta semana para RFC de Rust, Carga, Equipo lingüístico, Referencia lingüística o Directrices de códigos inseguros.
Háganos saber si desea que se realice un seguimiento de sus solicitudes de incorporación de cambios, problemas de seguimiento o RFC como parte de esta lista.
RFC nuevas y actualizadas
- No se crearon RFC nuevas o actualizadas esta semana.
Próximos eventos
Eventos oxidados entre 2025-04-16 - 2025-05-14 🦀
Virtual
- 16/04/2025 | Virtual (Vancouver, Columbia Británica, CA) | Rust de Vancouver
- 17/04/2025 | Virtual y presencial (Redmond, WA, EE. UU.) | Grupo de usuarios de Seattle Rust
- 2025-04-22 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 23/04/2025 | Virtual (Cardiff, Reino Unido) | Rust y C++ Cardiff
- 24/04/2025 | Virtual (Berlín, DE) | Rust Berlín
- 24/04/2025 | Virtual (Charlottesville, VA, EE. UU.) | Reunión de Rust en Charlottesville
- 03/05/2025 | Virtual (Kampala, UG) | Reunión de Rust Circle
- 05/05/2025 | Virtual (Tel Aviv-Yafo, IL) | Rust 🦀 TLV
- 07/05/2025 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
- 08/05/2025 | Virtual (Berlín, DE) | Rust Berlín
- 13/05/2025 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
Asia
- 2025-04-22 | Tel Aviv-Yafo, IL | Rust 🦀 TLV
Europa
- 2025-04-19 | Estambul, TR | Comunidad de Rust de Türkiye
- 23/04/2025 | Londres, Reino Unido | Grupo del Proyecto Rust de Londres
- 24/04/2025 | Aarhus, DK | Rust Aarhus
- 24/04/2025 | Edimburgo, Reino Unido | Rust y sus amigos
- 24/04/2025 | Manchester, Reino Unido | Rust de Manchester
- 25/04/2025 | Edimburgo, Reino Unido | Rust y sus amigos
- 2025-04-26 | Estocolmo, SE | Estocolmo Rust
- 29/04/2025 | Londres, Reino Unido | Grupo de usuarios de Rust London
- 29/04/2025 | París, FR | Rust Paris
- 30/04/2025 | Fráncfort, DE | Rust Rhein-Main
- 01/05/2025 | Nürnberg, DE | Rust de Núremberg
- 06/05/2025 - 07/05/2025 | París, FR | WebAssembly y Rust Meetup
- 06/05/2025 | París, FR | WebAssembly y Rust Meetup (Wasm Empowering AI)
- 07/05/2025 | Madrid, ES | Rust loco
- 07/05/2025 | Oxford, Reino Unido | Grupo de Meetup de Oxford Rust
- 08/05/2025 | Gdansk, PL | Rust Gdansk
- 08/05/2025 | Londres, Reino Unido | Grupo del Proyecto Rust de Londres
- 13/05/2025 | Ámsterdam, Países Bajos | Rust
- 2025-05-13 - 2025-05-17 | Utrecht, NL | Rust NL
- 14/05/2025 | Reading, Reino Unido | Taller de lectura de Rust
América del Norte
- 17/04/2025 | Mountain View, CA, EE. UU. | Dojo Hacker
- 17/04/2025 | Nashville, Tennessee, Estados Unidos | Desarrolladores de Music City Rust
- 17/04/2025 | Redmond, WA, EE. UU. | Grupo de usuarios de Seattle Rust
- 2025-04-22 | Detroit, Michigan, Estados Unidos | Rust de Detroit
- 23/04/2025 | Austin, TX, Estados Unidos | Rust ATX
- 23/04/2025 | Austin, TX, Estados Unidos | Rust ATX
- Almuerzo Rust - Fareground 23/04/2025 | Spokane, WA, EE. UU. | Rust de Spokane
- Mostrar y contar a la comunidad en Fuel Coworking
- 24/04/2025 | Atlanta, Georgia, Estados Unidos | Rust Atlanta
- 25/04/2025 | Boston, MA, EE. UU. | Encuentro de Boston Rust
- 01/05/2025 | Saint Louis, MO, EE. UU. | STL Rust
- 03/05/2025 | Boston, MA, EE. UU. | Encuentro de Boston Rust
- 08/05/2025 | Ciudad de México, MX | Rust MX
- 08/05/2025 | Portland, Oregón, Estados Unidos | PDXRust
- 11/05/2025 | Boston, MA, EE. UU. | Encuentro de Boston Rust
Oceanía
- 2025-04-22 | Barton, AC, AU | Grupo de usuarios de Canberra Rust
Si está ejecutando un evento de Rust, agréguelo al calendario para obtener que se menciona aquí. Por favor, recuerde agregar un enlace al evento también. Envíe un correo electrónico al Equipo de la comunidad de Rust para acceder.
Empleos
Por favor, consulte el último hilo de Who's Hiring en r/rust
Frase de la semana
punto flotante IEEE 754, que se enorgullece de proporcionar contraejemplos desde 1985.
– Johannes Dahlström sobre las partes internas del Rust
¡Gracias a Ralf Jung por la sugerencia!
¡Por favor, envíe sus 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