Esta semana en Rust #113
¡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
Oficial
- Cómo Josh ayuda a Rust a gestionar código en múltiples repositorios
- Mantenedor destacado: Tiffany Pek Yuan (@tiif)
Boletines
Actualizaciones de proyectos/herramientas
- Anunciando stdx, la biblioteca estándar extendida de Rust
- OmniScope 0.2.0 lanzado:FFI herramienta de detección estática basada en LLVM IR
- Anunciando Asterinas 0.18.0
- Oryxis SSH 0.8: paneles separados
- Se lanza Ratatui 0.30.1 - una biblioteca Rust para crear interfaces de usuario de terminal
- @utoo/pack: Una herramienta de construcción de nueva generación basada en Turbopack
- Pico de Gallo - un puente de protocolo conectado por USB para desarrollar controladores HAL embebidos en tu portátil
- kache 0.5.0: diseñando una clave correcta de caché de compilación
- Anunciando smb2: un cliente SMB2/3 puro de Rust muy rápido
Observaciones/Pensamientos
- Solo Límites
- Portar nuestro backend de Django a Rust mejoró el uso de infraestructura en un 90%
- Comparación y Referencia de Cajas Decimales | Versión china
- Tablero de tareas de robots TeaQL: una vitrina de Rust TUI para flujos de trabajo empresariales auditables
- [vídeo] Rayon NO es para juegos - usa esto en su lugar
- [audio] Veo con Anders Hellerup Madsen y Gorm Casper
Guías de Rust
- [serie] ¿Quién dirige tu futuro de Rust? Introducción práctica a Async Rust
- Extender MySQL usando Rust
- Aprende punteros inteligentes de Rust y mutabilidad interior construyendo el visor de grafos de commit de git
- heap underflow: soluciones clásicas de algoritmos en Rust idiomático, ejecutables en el navegador
Crate de la semana
El crate de esta semana es rustion, un servidor bastión SSH.
¡Gracias a handewo 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.
- cuda-oxide, bifurcación de Windows - prueba la versión de Windows MSVC en más configuraciones CUDA/Windows
- openslate - añadir pruebas unitarias para slugify() en api/src/notes.rs
- openslate - añadir pruebas de integración para Notes CRUD en API/src/Notes.rs
- OpenSlate - Añadir pruebas de integración para el flujo de autenticación en API/SRC/USERS.RS
- OpenSlate - Añadir pruebas unitarias para build_fts_query() en API/SRC/search.rs
- OpenSlate - Añadir pruebas de integración para middleware de autenticación y cerrar sesión en API/SRC/Auth.rs
- OpenSlate - Añadir pruebas de integración para puntos finales multimedia (capa de base de datos) en API/SRC/media.rs
- openslate - añadir pruebas unitarias para ext_from_mime() y filename_from_url() en API/SRC/media.rs
- reliakit - añadir un ejemplo typed_csv a la caja de paraguas
- reliakit - implementar CsvField para char
- reliakit - implementar CsvField para los tipos de dirección core::net
- [reliakit - escribir una breve guía de "¿qué bloqueo de resiliencia uso?"(https://github.com/satyakwok/reliakit/issues/95)
- reliakit - extraer un contador de ventana enrollable reutilizable de RollingBreaker
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
526 pull requests se han [fusionado en la última semana][fusionado]
Compilador
- añadir 'externa "tail"' llamando convención
- añadir una implementación muy básica de "comptime" en la línea de datos
- evitar 'unreachable_code' en los valores de retorno requeridos
- limpieza y optimización de 'render_impls'
- macros: informar directamente de metavariables no vinculadas
- reescribir 'rustc_span::symbol::Interner' para evitar el doble hashing
- staticlib oculta símbolos internos
Biblioteca
- añadir APIs para el plegado de mayúsculas a la biblioteca estándar
- añadir API '_value' para literales numéricos en proc-macro
- optimizar aún más '<str>SliceIndex' para 'Range<usize>'
- mejorar el código TLS marcando la ruta de pánico/init como fría
- interpretación: usa 'get_unchecked' para 'TwoWaySearcher'
- estabilizar 'PathBuf::into_string'
- estabilizar 'Resultado::map_or_default' y 'Opción::map_or_default'
Carga
Rustdoc
- IXCRE: conserva los límites de tamaño en los parámetros de tipo pertenecientes al elemento padre
- no enlazar proyecciones de tipo asociadas a 'doc(hidden)'
- corregir rasgo implica orden
- render restricción 'impl'
Clippy
- apoyo a 'iter_mut' en 'ITER_NEXT_SLICE'
- 'borrowed_box': mensaje de limpieza y mejora de sugerencia
- 'double_must_use': hacer que la máquina de pelusa sea aplicable en un caso de un solo atributo
- 'iter_cloned_collect': separar la sugerencia del mensaje principal
- añadir pelusa de 'manual_isolate_lowest_one'
- detectar más distancias en 'single_range_in_vec_init'
- no activar 'inline_trait_bounds' en código auto-derivado
- extiende 'extra_unused_lifetimes' por el espurio 'for<'a>'
- 'large_const_arrays': comprobar grandes matrices anidadas
- corregir 'explicit_counter_loop' falso positivo cuando el contador solo se modifica dentro del bloque 'else' de 'deja... encuadernación de otra manera
- arreglar 'result_large_err' y 'result_unit_err' no se activan en funciones asíncronas
- sugerencias de corrección de 'unused_async_trait_impl' con sentencias de retorno
- corregir duplicaciones de lints en 'unknown_attribute' y 'renamed_builtin_attr'
- obtener los metadatos de un puntero const es una operación const
- perf: evitar clonar objetos asociados en 'empty_line_after'
- perf: salta el paseo 'boxed_local' para funciones sin parámetro Box
- perf: saltarse la caminata de relevancia 'inline_always' para objetos sin el atributo
Analizador de Rust
- 'feat(diagnostics)': error de emisión para inferir vars en contextos no de inferencia
- adopta la política de IA de UV
- distribuir ventanas construidas con mimalloc
- el campo inferior se apunta por defecto a 'rustc_type_ir::Const
- 'RunnableKind::Test' debería corresponder a 'project_json::RunnableKind::TestOne'
- 'extract_function' no corresponde a '&mut' para 'container[i].mut_method()'
- no emitir un error de "anotaciones de tipo necesarias" en 'include_bytes! ()' donde no se puede inferir la longitud del array
- no generar parámetros genéricos no usados en el signo de rasgo
- analizar los tipos de patrón OR
- renombrar subItems del esquema con 'sub_items'
- implementar extensión LSP 'rust-analyzer/evaluatePredicate'
- analizar variantes 'enum' sin nombre
Triaje de rendimiento del compilador Rust
Una semana bastante ruidosa, con un montón de pequeñas regresiones contenidas, lo que lleva a un ligero aumento promedio en el número de instrucciones. Esta semana tuvo un Muchos rollups grandes, probablemente por problemas de CI, pero por suerte muchos Esos venían con resultados de perf preclasificados para cuando llegaron (gracias a esos ¡triadores!). Regresiones ligeras más o menos similares en ciclos y tiempos de pared La semana.
Triaje hecho por @simulacrum. Rango de revisión: 4804ad7e.. f3EF3Bd8
2 regresiones, 0 mejoras, 10 mixtas; 5 de ellos en rollups 32 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?
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
- Pánico de documentos en 'RangeInclusive::from(legacy::RangeInclusive)'
- Problema de seguimiento para la cuerda explicit-endian::from_utf16
- Problema de seguimiento para 'substr_range' y métodos relacionados
- Decidir y documentar dónde se permite que los intrínsecos de las stdarcas divergan del comportamiento asm
- Documentar que la interacción de la caja de 'ManuallyDrop' ha sido corregida
- Añadir alcance temporal a assert_eq y assert_ne
- Limpiar los nombres de tipos de cajas para arreglar la confusión entre dylib y staticlib
- Añadir límites 'T: ParcialEq' a 'EstructuralParcialEq' derivado implica la que se siente.
- función de estabilización 'float_algebraic'
Equipo de compiladores (solo MCPs)
Consejo de Liderazgo
Sin artículos inscritos en el Periodo de Comentarios Finales esta semana para RFCs de Rust, Carga, Equipo de Lenguaje, Referencia lingüística 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
Próximos eventos
Eventos Rusty entre el 10-06-2026 - el 08-07-2026 🦀
Virtual
- 2026-06-10 | Virtual (Girona, ES) | Rust Girona
- 2026-06-12 | Virtual (Kenia, KE) | RustaceansKenya
- 2026-06-16 | Virtual (Washington, DC, EE. UU.) | Oxidación DC
- 2026-06-17 | Híbrido (Vancouver, BC, CA) | Rust de Vancouver
- 2026-06-17 | Virtual (Girona, ES) | Rust Girona
- 2026-06-18 | Híbrido (Seattle, WA, EE. UU.) Grupo de usuarios Seattle Rust
- 2026-06-18 | Virtual (Berlín, DE) | Berlín Oxidado
- 2026-06-21 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-06-23 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-06-23 | Virtual (Londres, Reino Unido) | Mujeres con Rust
- 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 (Núremberg, DE) | Núremberg de Oxid
- 2026-07-05 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-07-07 | Virtual (Londres, GB) | Mujeres con Rust
Europa
- 2026-06-10 | Colonia, DE | Colonia Oxidada
- 2026-06-10 | Múnich, DE | Rust Múnich
- 2026-06-11 | Berlín, DE | Berlín Oxidado
- 2026-06-11 | Suiza, CH | Después de TenebrasLab
- 2026-06-12 - 2026-06-14 | Cracovia, PL | Rustmeet
- 2026-06-16 | Leipzig, DE | Rust - Programación de sistemas modernos en Leipzig
- 2026-06-16 | Milano, IT | Milán en lengua oxidada
- 2026-06-18 | Aarhus, DK | Rust Aarhus
- 2026-06-18 | Barcelona, ES | BcnRust
- 2026-06-19 | Dresde, DE | Rust Dresden
- 2026-06-23 | París, FR | París Rust
- 2026-06-23 | Varsovia, PL | Varsovia Oxidada
- 2026-06-25 | Berlín, DE | Berlín Oxidado
- 2026-07-02 | Edimburgo, GB | Rust y amigos
- 2026-07-02 | Enschede, OV, NL | Reuniones de Tecnología de Baseflow
- 2026-07-08 | Dublín, IE | Rust Dublin
Norteamérica
- 2026-06-11 | Lehi, UT, EE. UU. Utah Rust
- 2026-06-11 | Mountain View, CA, EE. UU. | Dojo Hacker
- 2026-06-11 | San Diego, CA, EE. UU. San Diego Rust
- 2026-06-16 | San Francisco, CA, EE. UU. Grupo de Estudio sobre el Rust de San Francisco
- 2026-06-16 | San Francisco, CA, EE. UU. Grupo de Estudio sobre el Rust de San Francisco
- 2026-06-17 | Híbrido (Vancouver, BC, CA) | Rust de Vancouver
- 2026-06-18 | Híbrido (Seattle, WA, EE. UU.) Grupo de usuarios Seattle Rust
- 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-26 | Nueva York, NY, EE. UU. Rust NYC
- 2026-07-02 | Saint Louis, MO, EE. UU. STL Rust
Oceanía
- 2026-06-11 | Brisbane City, QL, AU | Rust Brisbane
- 2026-06-25 | Melbourne, AU | Rust Melbourne
Sudamérica
- 2026-06-18 | Florianópolis, BR | Rust SC
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
Es una pistola de pie, sí, pero es una pistola de pie.
– Prof. Dr. Ralf Jung en github
¡Gracias a Teemathas 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