Esta semana en Rust #115
¡Hola y bienvenidos a otro número de Esta Semana en Rust! Rust es un lenguaje de programación que permite a todos crear software fiable y eficiente. Este es un resumen semanal de su progreso y comunidad. ¿Quieres que se mencione algo? Etiquetanos en @thisweekinrust.bsky.social en Bluesky o @ThisWeekinRust en mastodon.social, o mándanos una solicitud de retirada. ¿Quieres participar? Nos encantan las contribuciones.
This Week in Rust está desarrollado abiertamente en GitHub y los archivos pueden consultarse en this-week-in-rust.org. Si encuentras algún error en el número de esta semana, por favor presenta un RP.
¿Quieres TWIR en tu bandeja de entrada? Suscríbete aquí.
Actualizaciones de la comunidad Rust
Fundación
- Rust Foundation da la bienvenida a OpenAI como miembro platino
- Lancement de la red comercial de Rust para unir a usuarios comerciales de Rust
- Lo principal es traer entrenamiento práctico en Rust
Boletines
Actualizaciones de proyectos/herramientas
- Bevy 0,19
- La caja PNG de Rust se vuelve aún más rápida, usada por GNOME y Chromium
- kache 0.7.0: almacenamiento en caché de árboles C/C++ del mundo real
- Nueva función en GuardianDB: Introducción de la capa ODM (Object Document Mapper)
- SIMD seguro en Rust, incluso por dentro
- Se lanza Ratatui 0.30.2 - una biblioteca de Rust para crear interfaces de usuario de terminal
- Añadiendo un handshake híbrido post-cuántico a una VPN Rust
- De Julia a Rust: una pila tensorial diferenciable para la computación científica en la era de la IA agente
- hotpath-rs 0.18: Perfilado de Rust asíncrono y concurrente - Canales y contención de bloqueo
Observaciones/Pensamientos
- Cómo encontramos un error en la biblioteca hyper HTTP
- ClickHouse con Alexey Milovidov y Austin Bonander
- ¿Profundización en iroh: ¿Un sustituto de WireGuard o una capa peer-to-peer para tu aplicación?
- Optimizando #[sqlx::test] tiempo de reconstrucción
- Reescribiendo el mundo en Rust
Guías de Rust
- Migrando LiteLLM a Rust - Construcción del Gateway de IA más rápido y ligero
- SIMD seguro en Rust, incluso por dentro
- Aprende Rust Async/Await, Tokio y redes TCP construyendo un servidor HTTP/1.1
- Ruptura de construcción en Bevy: Paso a paso
- Portando 300.000 líneas de C++ y Perl a Rust: un motor de metadatos multimedia dual-oracle
- Una carrera de datos que no se compila
- [vídeo] lección 9 de RustCuriose: Los rasgos son Interfaces
- [Vídeo] BAML: un nuevo lenguaje de programación (creado en Rust)
- [Vídeo] El futuro del control de versiones
- [Vídeo] Borrowing Beauty: Mi búsqueda de principiante para crear un código Bevy & Rust accesible
Crate de la semana
El crate de esta semana es cargo-rdme, un comando de carga para crear tu README a partir de la documentación de tu caja.
¡Gracias a Diogo Sousa por la autosugerencia!
Por favor, enviad vuestras sugerencias y votos para la próxima semana!
Llama a 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 eres un implementador de funciones y quieres que tu RFC aparezca en esta lista, añade una Etiqueta de 'llamada para pruebas' a tu RFC junto con un comentario que ofrece instrucciones de prueba y/o orientación sobre qué aspecto(s) de la funcionalidad necesitan pruebas.
Esta semana no se emitieron llamadas para realizar pruebas por Rust, Carga, Ruído o RFCs en lenguaje oxidado.
Cuéntanos si quieres que tu característica se registre como parte de esta lista.
Llamado a la participación; Proyectos y ponentes
CFP - Proyectos
Siempre has querido 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 empieces.
Algunas de estas tareas también pueden tener mentores disponibles, visita la página de la tarea para más información.
- AimDB - try_produce' falible no bloqueante para búferes acotados / no sobrscribibles
- AimDB - Añadir ejemplo mínimo: hello-mailbox-async
Si eres propietario de un proyecto Rust y buscas colaboradores, por favor envia tareas aquí o a través de un PR to TWiR o contactando en Bluesky o Mastodon!
CFP - Eventos
¿Eres un ponente nuevo o experimentado que busca un lugar para compartir algo interesante? Esta sección destaca eventos que se están organizando y que están aceptando propuestas para unirse a su evento como ponente.
Si eres un organizador de eventos que espera ampliar el alcance de tu evento, por favor envia un enlace a la web a través de un PR to TWiR o contactando en Bluesky o Mastodon!
Actualizaciones del Proyecto Rust
515 pull requests fueron [fusionadas en la última semana][fusionadas]
Compilador
- implementar '#[diagnostic::on_unknown]' para módulos
- contornar parte de 'evaluate_goal_raw' en su propia función '#[frío]
- preservar 'track_caller' para cuñas Dyn Vtable por valor por subvalor
Biblioteca
- añadir 'io::Leer::read_le' y 'io::Leer::read_be'
- constificar 'TryFrom<Vec>' para el array
- 'impl [const] Predeterminado para BTreeMap'
- estabilizar 'str_from_utf16_endian'
- estabilizar 'strip_circumfix'
- estabilizar 'substr_range' y 'subslice_range'
Carga
- 'diag': Soporte 'build.warnings' para los lints de carga
- 'añadir': listar las versiones nuevas y cómo anular
- 'host-config': no aplicar la configuración de destino a los artefactos del anfitrión
- 'instalar': Haz funcionar los lints de carga como los rustc lints
- 'resolver': pista para resolver versiones demasiado nuevas
- 'prueba': Salta la prueba de levantamiento DWP sin debuginfo empaquetada
- añadir bloqueo de archivo Solaris fcntl
- '-Zmin-public-age' (RFC #3923)
- mejoró los mensajes de error de prueba cuando falla 'rustc -V'
- eliminar dependencias de windows-sys anteriores a 0.61
Clippy
- añadir pelusas para sugerir 'as_chunks' sobre 'chunks_exact' con constante
- nuevo 'unnecessary_unwrap_unchecked': pelusa
- 'extra_unused_type_parameters': no sugieres una corrección automática
- 'let_underscore_future': saltar enlaces con una anotación explícita de tipo
- evitar ICE al evaluar constantes que contienen args de tipo sin tamaño
- evitar la corrección de 'map_unwrap_or' cuando se ajusta el valor predeterminado
- no compruebes las vidas no utilizadas en el código expandido
- no activan 'unnecessary_box_returns' cuando el tamaño depende de los genéricos
- encontrar un contexto compartido para la cadena de formato y la llamada 'format!'
- arreglar el pánico OOM para tipos grandes con la comprobación de uninit
- corregir 'std_instead_of_core': falsos positivos para 'core::io'/MSRV
- 'manual_slice_fill' detectar para en bucles sobre '&mut [T; N]' cortes
- Fusionar comentarios y comprobación CFG en 'matches' lint pass
- perf: comprueba el nombre del método primero en 'or_fun_call'
- perf: comparar nombres de métodos antes de consultas de tipo en tres pasadas de lint
- PERF: realiza comprobaciones estructurales antes de consultas de contexto de const en 'question_mark, manual_clamp' y rangos
- PERF: saltarse el trabajo de 'match_same_arms' cuando se permite la pelusa
- perf: salta la tokenización en 'span_contains_cfg' cuando no hay '#' presente
- trata '!' igual que '-' en 'unnecessary_cast'
Analizador de Rust
- 'asistencia/replace_match_with_if_let': no pongáis paréntesis a los guardias if-let
- 'implements_trait_unique_with_infcx': solo prohíbe que el yo sea tipo error
- adiós, adiós, Ted
- no visitar nodos en GC varias veces
- Tamaños mixtos de bit y byte de evaluación MIR
- comprueba '#[cfg]s' en macros de expresión de cola
- fallo en constantes estáticas en posiciones de longitud de array
- no completar '.await' en receptores de tipo desconocido
- no te pongas nervioso con los literales enteros fuera de rango en posiciones de const
- migrar fusión importando al editor
Triaje de rendimiento del compilador Rust
Esta semana ha tenido muchos cambios importantes, con dos regresiones significativas de rendimiento que se aceptan Porque desbloquean funciones futuras y mejoras en el rendimiento. También vimos grandes mejoras en el siguiente solucionador de rasgos debido al trabajo de optimización del rendimiento que se realiza allí.
Triaje realizado por @JonathanBrouwer con ayuda de @Kobzol. Rango de revisión: b5d46ecb.. 8b6558a0
Resumen:
| (instrucciones:u) | media | Rango | conde | |:----------------------------------:|:------:|:---------------:|:-----:| | Regresiones ❌
(primaria) | 0,9% | [0,2%, 2,7%] | 184 | | Regresiones ❌
(secundario) | 1,0% | [0,1%, 4,2%] | 160 | | Mejoras ✅
(primaria) | -0,3% | [-0,3%, -0,2%] | 2 | | Mejoras ✅
(secundario) | -11,8% | [-69,9%, -0,2%] | 25 | | Todos ❌✅ (primario) | 0,8% | [-0,3%, 2,7%] | 186 |5 regresiones, 3 mejoras, 2 mixtas; 4 de ellos en rollups 30 comparaciones de artefactos realizadas en total
RFCs 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.
Periodo final de comentarios
Cada semana, el equipo anuncia el 'periodo final de comentarios' para los RFCs y PRs clave que están tomando una decisión. Expresa tus opiniones ahora.
Problemas de seguimiento y marcas personales
Rust
- rustc_lint: Permitir niveles de pelusa 'non_ascii_idents' con alcance visual
- Estabilizar '#[my_macro] mod foo;' (parte de 'proc_macro_hygiene')
- Implementa 'IntoIterator' para '[&[mut]] Box<[T; N], A>'
- Problema de seguimiento para 'string_from_utf8_lossy_owned'
- Inferir todas las vidas anónimas en consts asociadas como ''estática'
- considera subtipar al comprobar si un var infer tiene el tamaño
- eliminar 'box_patterns'
- activar la norma 'param_env' de eager en el nuevo solver
- Pelusa contra funciones iteradoras que entran en pánico cuando 'N' es cero
Consejo de Liderazgo
Sin artículos inscritos en el Periodo de Comentarios Finales esta semana para Carga, Equipo de compilación (solo MCPs), Referencia lingüística, Equipo de Lenguaje, RFCs de Rust o Directrices del Código de Peligro.
Háznos saber si desea que sus registros permanentes, problemas de seguimiento o RFCs sean registrados como parte de esta lista.
RFCs nuevos y actualizados
- No se crearon RFC nuevos ni actualizados esta semana.
Próximos eventos
Eventos Rusty entre el 24-06-2026 y el 22-07-2026 🦀
Virtual
- 2026-06-25 | Virtual (Girona, ES) | Rust Girona
- 2026-07-01 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
- 2026-07-02 | Virtual (Berlín, DE) | Berlín Oxidado
- 2026-07-02 | Virtual (Charlottesville, VA, EE. UU.) | Encuentro de Charlottesville Rust
- 2026-07-02 | Virtual (Núremberg, DE) | Núremberg de Oxid
- 2026-07-04 | Virtual (Kampala, UG) | Encuentro del Círculo de Rust
- 2026-07-05 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-07-07 | Virtual (Londres, Reino Unido) | Mujeres con Rust
- 2026-07-14 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-07-15 | Híbrido (Vancouver, BC, CA) | Rust de Vancouver
- 2026-07-16 | Híbrido (Seattle, WA, EE. UU.) Grupo de usuarios Seattle Rust
- 2026-07-16 | Virtual (Berlín, DE) | Berlín Oxidado
- 2026-07-19 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-07-21 | Virtual (Londres, Reino Unido) | Mujeres con Rust
- 2026-07-21 | Virtual (Washington, DC, EE. UU.) | Oxidación DC
Asia
- 2026-07-18 | Bangalore, IN | Rust Bangalore
Europa
- 2026-06-24 | Manchester, Reino Unido | Manchester Rust
- 2026-06-24 | Trondheim, NO | Trondheim Oxidado
- 2026-06-25 | Berlín, DE | Berlín Oxidado
- 2026-06-25 | Copenhague, DK | Comunidad Copenhague Rust
- 2026-06-25 | Toulouse, FR | Rust Toulouse
- 2026-06-27 | Estocolmo, SE | Rust de Estocolmo
- 2026-07-02 | Edimburgo, Reino Unido | Rust y amigos
- 2026-07-02 | Enschede, NL | Reuniones de Tecnología de Baseflow
- 2026-07-08 | Dublín, IE | Rust Dublin
- 2026-07-09 | Suiza, CH | Después de TenebrasLab
Norteamérica
- 2026-06-24 | Austin, TX, EE. UU. | ATX de Rust
- 2026-06-24 | Los Ángeles, CA, EE. UU. | Rust Los Ángeles
- 2026-06-25 | Atlanta, GA, EE. UU. Rust Atlanta
- 2026-06-25 | Mountain View, CA, EE. UU. | Dojo Hacker
- 2026-06-26 | Nueva York, NY, EE. UU. Rust NYC
- 2026-06-27 | Boston, MA, EE. UU. Encuentro de Boston Rust
- 2026-07-02 | Saint Louis, MO, EE. UU. STL Rust
- 2026-07-04 | Boston, MA, EE. UU. Encuentro de Boston Rust
- 2026-07-09 | Lehi, UT, EE. UU. Utah Rust
- 2026-07-11 | Boston, MA, EE. UU. Encuentro de Boston Rust
- 2026-07-15 | Híbrido (Vancouver, BC, CA) | Rust de Vancouver
- 2026-07-16 | Híbrido (Seattle, WA, EE. UU.) Grupo de usuarios Seattle Rust
- 2026-07-18 | Boston, MA, EE. UU. Encuentro de Boston Rust
- 2026-07-21 | San Francisco, CA, EE. UU. Grupo de Estudio sobre el Rust de San Francisco
- 222-07-2026 | Austin, TX, EE. UU. | ATX de Rust
- 222-07-2026 | Los Ángeles, CA, EE. UU. | Rust Los Ángeles
Oceanía
- 2026-06-25 | Melbourne, AU | Rust Melbourne
- 2026-07-21 | Barton, AU | Grupo de usuarios de Canberra Rust
Si organizas un evento de Rust, por favor añádelo al calendario para obtener Lo menciona aquí. Por favor, recuerda añadir también un enlace al evento. Envía un correo electrónico al [Rust Community Team][community] para acceder a la información.
Trabajos
Por favor, consulta el último hilo de Quién Contrata en r/rust
Cita de la semana
creo que esta es la decisión equivocada, y ojalá el equipo de Lang hubiera estabilizado el tipo Late en su lugar. Más vale tarde que nunca.
¡Gracias a Theemathas por la sugerencia!
¡Por favor, enviad citas y votad para la semana que viene!
Esta semana en el Rust está editado por:
- Nellshamrell
- llogiq
- ericseppanen
- extrawurst
- U007D
- Marianne Goldin
- bdillo
- opeolluwa
- bnchi
- KannanPalani57
- tzilista
El alojamiento de la lista de correo está patrocinado por The Rust Foundation