Esta semana en Rust #67
¡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
Actualizaciones de proyectos/herramientas
- toml v0.9
- Anunciando dynify: Pin-init trait objects en la pila en Rust estable
- ¿Qué hay de nuevo en Ratatui 0.30.0?
- Presentamos a Tyr, un nuevo controlador DRM de Rust
- RustFS: almacenamiento de objetos distribuidos y alternativa a MinIO escrito en Rust
- Rama 0.3.0-alpha.1 - Un Salto Adelante en el Protocolo
- Análisis de datos de streaming, versión 0.18.1 de Fluvio
Observaciones/Pensamientos
- Bootstrapping Rust con GCC
- El viaje hacia el mejor manejo de errores en los frameworks web de Rust
- [Falta de solidez y características accidentales en el atributo #[target_feature](https://predr.ag/blog/unsoundness-and-accidental-features-in-target-feature/)
- Simultaneidad estructurada en árbol II: Sustitución de tareas en segundo plano por actores
- Prototipado rápido de aprendizaje automático en Rust
- 330× más rápido: Cuatro formas diferentes de acelerar tu código
- Programación de tipos de datos extensibles en Rust con CGP, Parte 1 y Parte 2
- Hacer que el Rust inseguro sea un poco más seguro: encuentre errores de memoria en producción con GWP-ASan
- Pruebas de simulación determinista en Rust: un teatro de máquinas de estado
- Avance técnico de los componentes del material de Slint
- Malware seguro para la memoria: Rust desafía a los investigadores de seguridad
- La aterradora y sorprendentemente profunda madriguera del conejo de los temporales de Rust
- Los 4 pilares de la superioridad de Rust
Tutoriales de Rust
- JavaScript está siendo reescrito en Rust
- Mejores prácticas de seguridad de Rust 2025
- De 'Podría funcionar' a 'Funcionará': estado de tipo en Rust
- Confianza táctica (1 de 2): Plataforma criptográfica para desarrolladores en Rust
Crate de la semana
El crate de esta semana es flac-codec, una implementación de (como era de esperar) el formato de archivo Free Lossless Audio Codec (FLAC).
¡Gracias a tuffy por la autosugestió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.
-
- Esta semana no se emitieron convocatorias para pruebas por parte de Rust, RFC del lenguaje Rust, Carga o Oxidación.*
Háganoslo 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.
- rama - Implementar todos los algoritmos JWA
- rama - soporte X-Clacks-Overhead (response) http header
- rama - Solicitud de función: Enlace IPv4/IPv6 local dinámico para TcpConnector
- 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.
No se han presentado convocatorias ni 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 to TWiR o comunicándose en X (anteriormente Twitter) o Mastodon!
Actualizaciones del Proyecto Rust
588 solicitudes de extracción fueron [fusionadas en la última semana][fusionadas]
Compilador
- reescribir el analizador 'macro_rules!' para que no use el motor MBE en sí
- Coincidencia de bucle: arreglar 'No hay terminador en el bloque'
- Coincidencia de bucle: Manejar patrones opacos
- Alinear correcciones de attr
- evite sugerir rasgos de dependencias privadas
- detectar más casos de 'unused_parens' alrededor de los tipos
- convertir los metadatos en un producto de trabajo y reutilizarlos
- eliminar algunos 'inseguros' innecesarios en VecCache
- empezar a mover la comprobación de wf fuera de HIR
Biblioteca
- estabilizar 'mixed_integer_ops_unsigned_sub'
- añadir 'Vec::into_chunks'
- añadir 'const Rem'
- añadir métodos para convertir bool a 'Resultado<(), E>'
- cambiar '{Box,Arc,Rc,Weak}::into_raw' para que solo funcione con 'A = Global'
Carga
- publicar: Estabilizar la publicación de múltiples paquetes
- implementar la unificación de características del paquete
- informe un nombre de archivo válido cuando no podemos encontrar un objetivo de compilación para 'name = "foo.rs"'
Miri
Rustdoc
- arreglar que rustdoc no mostraba correctamente los atributos en las reexportaciones
- no tratar los métodos bajo const impls o traits como const
Clippy
- 'neg_multiply' debe conservar el paréntesis cuando se llama al método
- 'doc_nested_refdefs': no reportar falsamente casillas de verificación como refdefs
- 'or_fun_call': también lint 'y' método para 'Opción'/'Resultado'
- no peludar intrínsecos como bucles vacíos
- no eliminar 'as' si cambia el tipo
- No eliminar el puntero de conversión explícita a objeto de rasgo
- Arreglar el falso positivo 'std-instead-of-core' cuando no todos los artículos provienen de la nueva caja
- 'redundant_closure_call': pelusa para tapones con bloque
- mejorar la pelusa de punto flotante para manejar el tipo ambiguo
- manejar enlaces potencialmente sombreados en 'manual_let_else'
- propagar 'accept-comment-above-attributes' a las declaraciones
- 'return_and_then': evitar falsos positivos en caso de una expresión utilizada parcialmente
Analizador de Rust
- añadir 'AsMut', 'Borrow' y 'BorrowMut' a minicore y 'famous_defs'
- añadir la variante 'fn load_workspace_into_db' para la fn 'load_workspace' de 'ra_ap_load_cargo
- siempre empareja '--compile-time-deps' con
- incluir variantes de 'enum' en los símbolos del mundo
- arreglar un caso donde el tipo de enlace era 'Ninguno'
- arreglar tareas de desestructuración divergente
- arreglar algunas cosas con derivaciones incorporadas
- respeta la opción 'rust-analyzer.cargo.noDeps' al obtener metadatos de sysroot
- mejorar los rangos de diagnóstico para 'macro_calls!'
- Corregir la captura de cierre incorrecta para let exprs
- resuelva los problemas de longitud de la pantalla HIR y mejore la información sobre herramientas de ajuste
- Resolver elemento en enlace de coincidencia
- Mejorar los informes de progreso de flycheck y build script
- volver a habilitar la iteración de punto fijo para el cálculo de varianza
- reestructurar proc-macro cargando erros, diferenciar la propiedad de error duro en el tipo
- Solución alternativa que falta soporte para grupos ninguno en macros incorporadas
Clasificación del rendimiento del compilador de Rust
Semana ajetreada. Los resultados están dominados por cambios que intercambian algunas ganancias por algunas pérdidas en pequeños escenarios incrementales. También tuvimos mucho ruido y pequeños cambios espurios en varios PR. Algunas regresiones provienen del trabajo relacionado con el rendimiento, en el que esperamos recuperar algunas victorias más adelante.
Triaje realizado por @panstromek. Rango de revisión: ad3b7257.. 0d11be5a
Resumen:
Nota: Cambiamos a una nueva máquina de referencia al comienzo del período. Mostramos un resumen basado en un rango ligeramente ajustado 6988a8fe.. 8df4a58a para evitar comparaciones engañosas de diferentes máquinas.
| (instrucciones:u) | media | Gama | Recuento |
|:----------------------------------:|:-----:|:---------------:|:-----:|
| Regresiones ❌
(primario) | 1.1% | [0.2%, 4.3%] | 128 |
| Regresiones ❌
(secundaria) | 1.0% | [0.2%, 3.9%] | 84 |
| Mejoras ✅
(primario) | -3,5% | [-7.2%, -0.2%] | 48 |
| Mejoras ✅
(secundaria) | -5,1% | [-42.6%, -0.2%] | 68 |
| Todos ❌✅ (primarios) | -0,2% | [-7,2%, 4,3%] | 176 |
3 regresiones, 3 mejoras, 11 mixtas; 6 de ellos en rollups 44 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:
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
Referencia lingüística
No hay artículos ingresados al Período Final de Comentarios esta semana para RFC de Rust, Carga, Equipo lingüístico 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-07-09 - 2025-08-06 🦀
Virtual
- 13/07/2025 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 15/07/2025 | Virtual (Londres, Reino Unido) | Mujeres en Rust
- 15/07/2025 | Virtual (Washington, DC, EE. UU.) | Rust DC
- 16/07/2025 | Híbrido (Vancouver, Columbia Británica, CA) | Rust de Vancouver
- 17/07/2025 | Híbrido (Redmond, WA, EE. UU.) | Grupo de usuarios de Seattle Rust
- 17/07/2025 | Virtual (Berlín, DE) | Rust Berlín
- 2025-07-20 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-07-22 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-07-22 | Virtual (Londres, Reino Unido) | Mujeres en Rust
- 24/07/2025 | Virtual (Nürnberg, DE) | Rust de Núremberg
- 27/07/2025 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 31/07/2025 | Virtual (Berlín, DE) | Rust Berlín
- 02/08/2025 | Virtual (Kampala, UG) | Reunión de Rust Circle
- 03/08/2025 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 06/08/2025 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
Asia
- 26/07/2025 | Bangalore, IN | Rust de Bangalore
Europa
- 09/07/2025 | Girona, ES | Rust Girona
- 09/07/2025 | Reading, Reino Unido | Taller de lectura de Rust
- 10/07/2025 | Berlín, DE | Rust Berlín
- 15/07/2025 | Leipzig, DE | Rust - Programación de sistemas modernos en Leipzig
- 15/07/2025 | Londres, Reino Unido | Grupo del Proyecto Rust de Londres
- 23/07/2025 | Dortmund, DE | Rust Dortmund
- 24/07/2025 | Edimburgo, Reino Unido | Rust y sus amigos
- 24/07/2025 | Núremberg/Nürnberg, DE | Rust de Núremberg
- 29/07/2025 | Manchester, Reino Unido | Rust de Manchester
- 29/07/2025 | Praga, CZ | Rust República Checa
- 30/07/2025 | Ámsterdam, Países Bajos | Grupo de desarrolladores de Rust en Ámsterdam
- 31/07/2025 | Augsburgo, DE | Encuentro de Rust Augsburgo
América del Norte
- 09/07/2025 | Phoenix, AZ, EE. UU. | Rust del desierto
- 10/07/2025 | Mountain View, CA, EE. UU. | Dojo Hacker
- 10/07/2025 | Portland, Oregón, Estados Unidos | PDXRust
- 15/07/2025 | San Francisco, CA, EE. UU. | Grupo de Estudio de la Roya de San Francisco
- 16/07/2025 | Híbrido (Vancouver, Columbia Británica, CA) | Rust de Vancouver
- 17/07/2025 | Chicago, Illinois, Estados Unidos | Encuentro de Rust en Chicago
- 17/07/2025 | Híbrido (Redmond, WA, EE. UU.) | Grupo de usuarios de Seattle Rust
- 17/07/2025 | Nashville, Tennessee, Estados Unidos | Desarrolladores de Music City Rust
- 23/07/2025 | Austin, TX, Estados Unidos | Rust ATX
- 24/07/2025 | Mountain View, CA, EE. UU. | Dojo Hacker
- 31/07/2025 | Atlanta, Georgia, Estados Unidos | Rust Atlanta
América del Sur
- 2025-07-12 | São Paulo, BR | Encuentro de Rust São Paulo
- 17/07/2025 | Florianópolis, BR | Rust Brasil + Rust Floripa
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
Te estarás preguntando: ¿por qué reescribiste [...] en Rust? Y sí, realmente no tengo una buena razón. Es un proyecto de hobby. Como la jardinería, pero con más defectos.
¡Gracias a robin 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