Esta semana en Rust #50
¡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 en X (antes Twitter) 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
- Rust participa en Google Summer of Code 2025
- Actualización de Objetivos del Proyecto de Febrero
- Anunciando Rustup 1.28.0
Boletines
- Este mes en Rust OSDev: febrero de 2025
- Tendencias de Rust Edición #60
- El Rustáceo Incrustado Edición #40
Actualizaciones de proyectos/herramientas
- Anunciando Wiremocket: Wiremock para Websockets
- [Un reqwest] más modular](https://seanmonstar.com/blog/modular-reqwest/)
- MemberList 0.6 - Protocolo de chismes para la gestión de la membresía del clúster
- Maelstrom Clustered Test Runner v0.13: nuevo modo de observación y soporte de flujo de trabajo de GitHub
- Código binario 2.0.0
Observaciones/Pensamientos
- El problema con los alias de tipo
- Tómate un descanso: la partida de Rust ha fracasado
- Decodificación rápida de JSON en columnas con arrow-rs
- Algunas cosas que hacen que la vida de Rust sea difícil de aprender
- Optimización del rendimiento y cómo hacerlo mal
- No ejecutar ningún comando de Cargo en proyectos que no sean de confianza
- Garantías de estabilidad faltantes de la carga
- [video] Rust bajo el capó
- [video] 9 reglas para portar Rust al navegador
Tutoriales de Rust
- El poder de la pasantía: hacer una base de datos de series temporales 2000 veces más pequeña en Rust
- Bajar elementos de nivel superior
- Construyendo un servidor DNS en Rust: Parte 1 de 2
Miscelánea
- [video] Asignador global de Rust
- [video] Vulkanizado 2025: Envío de un juego con Vulkan y Rust en 100 días
- [video] Creación de un sitio web en páginas de GitHub con mdBook
- Se anuncia EuroRust 2025 París
- Por favor, nomina nuevos proyectos innovadores para GOSIM Rust Spotlight lo antes posible!
Crate de la semana
El crate de esta semana es wild, un enlazador bastante rápido escrito en Rust.
¡Gracias a Mateusz Mikuła por la (especie de auto)sugerencia!
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 una etiqueta de 'llamada para pruebas' a su RFC junto con con un comentario que proporcione instrucciones de prueba y/o orientación sobre qué aspecto (s) de la función necesitan pruebas.
-
- Esta semana no se emitieron convocatorias para pruebas por parte de Rust, RFC del lenguaje Rust o Oxidación.*
Háganos saber si desea que se realice un seguimiento de su función como parte de esta lista.
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.
Esta semana no se han presentado convocatorias para participar.
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.
EuroRust 2025| 15/05/2025 | París | 2025-10-09–2025-10-10
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
502 solicitudes de extracción fueron [fusionadas en la última semana][fusionadas]
Compilador
- introducir 'característica(generic_const_parameter_types)'
- Arreglar el análisis de rangos después de operadores unarios
- implementar '#[cfg]' en las cláusulas 'where'
- Optimizar las comprobaciones de rangos de procedencia vacíos
Biblioteca
- add 'IntoBounds::intersect' y 'RangeBounds::is_empty'
- arreglar el error de la ruta de búsqueda de 'Comando' de Windows
- estabilizar 'core::str::from_utf8_mut' como 'const'
- estabilizar 'extract_if'
- estabilizar 'hash_extract_if'
Carga
- cargo: agregar soporte SBOM (RFC #3553)
- cargo: cli: Finalizaciones de bash hacia adelante de subcomandos de terceros
- cargo: añadir terminaciones para '--lockfile-path'
- cargo: reinicia $CARGO si el programa en ejecución es real 'cargo[.exe]'
- cargo: obtener todos los miembros como 'destinos disponibles' aunque se haya especificado default-members
- cargo: implementó la opción de configuración 'build.build-dir'
Rustdoc
- 'librustdoc': devuelve 'impl fmt::D isplay' en más lugares en lugar de escribir en cadenas
- califique completamente 'Resultado' en el código doctest generado
Rustfmt
Clippy
- nuevas pelusas: 'manual_midpoint', añadir pelusa 'unnecessary_debug_formatting'
- mover 'comparison_chain' de 'estilo' a 'pedante'
- 'macro_use_import': No compruebes si el atributo proviene de la expansión
- 'manual_strip': use el identificador existente en lugar del marcador de posición
- 'needless_collect': evita advertir si se utilizan métodos no iteradores
- comprobar los atributos MSRV en las pasadas tardías utilizando el HIR
- opción de configuración para lint 'incompatible_msrv' en el código de prueba
- extender {'implicit','inverted'}}'_saturating_sub' a las expresiones
- arreglar ICE en la verificación de 'doc_nested_refdefs' al verificar el rango
- arreglar ICE en la pelusa 'manual_map'
- corrección: 'map_entry' falso positivo dentro del cierre
- corrección: 'map_entry' sugiere erróneamente cuando la clave no es 'Copiar'
- pelusa más casos con 'ptr_eq'
- dividir las sugerencias de 'needless_lifetime '_' en 'elidable_lifetime_names'
Analizador de Rust
- rust-analyzer: agregue 'identificador' para extraer las capacidades de diagnóstico de LSP
- Rust-analyzer: Añadir ancla para enlaces intra-doc a elementos asociados
- Rust-analyzer: Añadir Flip or Pattern Assist
- rust-analyzer: permitir la bandera de característica de formato "paquete/característica"
- rust-analyzer: permitir a rust-project.json especificar el espacio de trabajo sysroot
- Rust-analyzer: permitir desconfigurar CFG predeterminados
- Rust-analyzer: cofigurar el objetivo de OHOS para evitar bloqueos de compilación
- rust-analyzer: completion-ref-matching
- Analizador de Rust: pruebas DOC
- Rust-analyzer: Doc: Eliminar liendre de setup.md
- Rust-analyzer: Arreglar sugerencias de ajuste de prefijos introduciendo paréntesis innecesariamente
- rust-analyzer: arreglar la construcción del gráfico de caja de sysroot que no mapea los identificadores de caja para proc-macros
- rust-analyzer: haz que 'inline_local_variable' use el cálculo de precedencia para los paréntesis
- rust-analyzer: eliminar la edición de sintaxis del cálculo de paréntesis
- rust-analyzer: soporta patrones de tupla 'struct' para asistencia 'expand_rest_pattern'
- Rust-Analyzer: Avisar cuando la cadena de herramientas usada parece demasiado vieja para Rust-Analyzer
Clasificación del rendimiento del compilador de Rust
Una semana bastante tranquila, con cambios mínimos en el rendimiento (positivos o negativos).
Triaje realizado por @simulacrum. Rango de revisión: f5729cfe.. daf59857
1 Regresiones, 4 Mejoras, 1 Mixto; 2 de ellos en rollups 29 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
- Denote 'ControlFlow' como '#[must_use]'
- Convertir los objetos de rasgo dependientes del orden en una advertencia de incompatibilidad futura en un error grave
- Estabilizar 'const_vec_string_slice'
- añadir una edición "futura"
- Problema de seguimiento para const_sockaddr_setters
RFC de Rust
- RFC: Deseche el campo 'edition' por destino de compilación en 'Cargo.toml'
- RFC: Degradar i686-pc-windows-gnu a Tier 2
Carga
Otras áreas
- *No hay artículos ingresados al Período Final de Comentarios esta semana para 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
- Límites predeterminados locales para ayudar a 'Olvidar' y otros '? Rasgo'.
- Rasgo de marcador 'Olvidar'
- RFC: Campo de registro de cambios de cajas
Próximos eventos
Eventos de Rusty entre 2025-03-05 - 2025-04-02 🦀
Virtual
- 05/03/2025 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
- 06/03/2025 | Virtual (Nürnberg, DE) | Rust, Núremberg, DE
- 06/03/2025 | Virtual (Róterdam, Países Bajos) | Desarrollo de juegos de Bevy
- 06/03/2025 | Virtual (Tel Aviv-Yafo, IL) | Expertos en código 🦀 - 🐍 - 🐪
- 09/03/2025 | Virtual (Tel Aviv-Yafo, IL) | Expertos en código 🦀 - 🐍 - 🐪
- 09/03/2025 | Virtual (Tel Aviv-Yafo, IL) | Rust 🦀 TLV
- 11/03/2025 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 11/03/2025 | Virtual (Londres, Reino Unido) | Mujeres en Rust
- 13/03/2025 | Virtual (Berlín, DE) | Rust Berlín
- 18/03/2025 | Virtual (Tel Aviv-Yafo, IL) | Expertos en código 🦀 - 🐍 - 🐪
- 18/03/2025 | Virtual (Washington, DC, EE. UU.) | Rust DC
- 19/03/2025 | Virtual (Vancouver, Columbia Británica, CA) | Rust de Vancouver
- 2025-03-20 | Virtual (Tel Aviv-Yafo, IL) | Expertos en código 🦀 - 🐍 - 🐪
- 25/03/2025 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 25/03/2025 | Virtual (Londres, Reino Unido) | Mujeres en Rust
- 27/03/2025 | Virtual (Berlín, DE) | Rust Berlín
- 01/04/2025 | Virtual (Buffalo, NY, EE. UU.) | Encuentro de Buffalo Rust
- 02/04/2025 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
África
- 11/03/2025 | Johannesburgo, ZA | Reunión de Rust en Johannesburgo
Asia
- 15/03/2025 | Pekín, CN | WebAssembly y Rust Meetup (Wasm Empowering AI)
- 19/03/2025 | Tel Aviv-Yafo, IL | Rust 🦀 TLV
- 2025-03-28 | Kowloon Tong, HK | Rust de Asia
Europa
- 05/03/2025 | Barcelona, ES | BcnRust
- 05/03/2025 | Köln, DE | Colonia Rust
- 05/03/2025 | Oxford, Reino Unido | Grupo de Meetup de Oxford Rust
- 07/03/2025 | Praga, CZ | Rust República Checa
- 12/03/2025 | Reading, Reino Unido | Taller de lectura de Rust
- 13/03/2025 | Biel, CH | Rust Bern
- 14/03/2025 | París, FR | Rust en París
- 18/03/2025 | Basilea, CH | Basilea Rust
- 18/03/2025 | Leipzig, DE | Rust - Programación de sistemas modernos en Leipzig
- 2025-03-20 | Edimburgo, Reino Unido | Rust y sus amigos
- 2025-03-20 | Praga, CZ | Rust Praga
- 25/03/2025 | Aarhus, DK | Rust Aarhus
- 25/03/2025 | Eindhoven, Países Bajos | Rust
- 2025-03-26 | Varsovia, PL | Rustikon
- 27/03/2025 | Augsburgo, DE | Encuentro de Rust Augsburgo
- 02/04/2025 | München, DE | Rust Múnich
- 02/04/2025 | Oxford, Reino Unido | Grupo de Meetup de Oxford Rust
América del Norte
- 06/03/2025 | Montreal, QC, CA | Rust Montreal
- 06/03/2025 | Mountain View, CA, EE. UU. | Dojo Hacker
- 06/03/2025 | Saint Louis, MO, EE. UU. | STL Rust
- 2025-03-10 | Boston, MA, EE. UU. | Encuentro de Boston Rust
- 13/03/2025 | Chicago, Illinois, Estados Unidos | Encuentro de Rust en Chicago
- 18/03/2025 | San Francisco, CA, EE. UU. | Grupo de Estudio de la Roya de San Francisco
- 18/03/2025 | Spokane, WA, EE. UU. | Rust de Spokane
- 2025-03-20 | Mountain View, CA, EE. UU. | Dojo Hacker
- 2025-03-20 | Redmond, WA, EE. UU. | Grupo de usuarios de Seattle Rust
- 21/03/2025 | Ciudad de México, MX | Rust MX
- 2025-03-26 | Austin, TX, Estados Unidos | Rust ATX
- 27/03/2025 | Atlanta, Georgia, Estados Unidos | Rust Atlanta
- 31/03/2025 | Boulder, CO, EE. UU. | Depósito de estado sólido
Oceanía
- 11/03/2025 | Christchurch, Nueva Zelanda | Grupo de encuentro de Christchurch Rust
América del Sur
- 15/03/2025 | São Paulo, BR | Encuentro de Rust São Paulo
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
El impacto en el rendimiento de pasar a Rust, y este es un tema común en todo lo que se hace cuando pasamos de C/C++ a Rust, vimos una mejora del rendimiento del 5 al 15%.
diré que una de las formas en que podrías atacar ese tipo de estadística es decir, bueno, la reescribiste, así que cada vez que reescribas algo, lo vas a mejorar, y si lo hubieras reescrito en C o C++, también habrías visto una mejora como esa, pero el hecho es que no teníamos la intención de obtener una mejora en el rendimiento. Esto fue puramente un ejercicio de portabilidad y lo vimos ahora.
Y el otro aspecto de esto es que nunca vemos regresiones de rendimiento cuando estamos haciendo nuestros ports [...]
– Mark Russinovich en RustNationUK '25'
A pesar de la falta de sugerencias, llogiq está bastante satisfecho con su elección.
¡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