Esta semana en Rust #114
¡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
Actualizaciones de proyectos/herramientas
- cuTile Rust - Concurrencia intrépida en la GPU, kernels de GPU seguros en memoria y libres de carreras de datos, benchmarks B200
- Iroh 1.0 - Teclas de marca, no IPs
- Diplomat - FFI multilingüe para bibliotecas de Rust
- Construí EVM desde cero. Otra vez.
- ProcessKit 1.0 - Gestión de árboles de procesos asíncronos
- litchee: cliente API de Rust Lichess
- Cuenca - Optimización numérica en Rust
- Carboxyl 0.1.0-rc - Un navegador servo para el terminal
- kache 0.6.0 - una caché de compilación Rust + C/C++ compartida
- numax v0.1.0 - primera versión estable del runtime distribuido WASM de Numax
- ZamSync - motor Rust sync desconectado
- Ktav - un formato de configuración sin comillas
Observaciones/Pensamientos
- zlib-rs en Firefox
- Oxidación impide carreras de datos, no condiciones de carrera
- Construye tu proyecto al estilo Zig
- Cómo difieren los CVEs de seguridad de memoria entre Rust y C/C++
- Por qué no está en crates.io
- [vídeos] RustWeek 2026 por RustNL, lista de reproducción de charlas
- El iPad estaba en Tailscale
Guías de Rust
- Aprende la concurrencia de Rust construyendo un pool de hilos
- Hay vida antes que el principal en Rust
- Locales de tareas asincrónicas desde cero
- Fearless Embedded Rust: Conduciendo un coche de Lego con una Pico W
- Construcción de una capa LLM independiente del proveedor en Rust con Rig
Miscelánea
Crate de la semana
El crate de esta semana es marser, una biblioteca de combinadores de analizadores sintácticos con un giro.
¡Gracias a Arne Code 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.
- solana-infra-doctor - Lista de códigos de salida en 'sol-doctor --help'
- solana-infra-doctor - Hacer que el error de URL inválida sugiera el esquema esperado
- solana-infra-doctor - Añadir un glosario de términos de preparación RPC
- 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
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
527 pull requests se han [fusionado en la última semana][fusionado]
Compilador
- 'obligations_for_self_ty': saltar objetivos irrelevantes (recalcular 'sub_root' desde 'stalled_vars)'
- 'codegen_ssa': Pelar envoltorios de trans. en VECs escalables
- añadir una comprobación de predicados imposibles a 'trivial_const'
- añadir bucle inestable desenrollando atributos de pista
- mejorar la polimorfización del formato de punteros en bruto
- introduce '#[diagnostic::on_type_error(mensaje)]'
- PERF: reutilizar el recorrido de borde de marcado verde al promocionar un nodo
Biblioteca
- añadir variantes 'or_try_*' para las APIs de entrada 'HashMap' y 'BTreeMap'
- hacer que 'BorrowedBuf' y 'BorrowedCursor' sean genéricos sobre los datos
- sustituye la tabla de imprimibles por tablas 'unicode_data.rs'
- estabilizar '#! [feature(box_as_ptr)]'
- estabilizar 'núcleo::rango::{legacy, RangeFull, RangeTo}'
- función de estabilizar 'int_format_into'
- estabilizar 'nonzero_from_str_radix'
- función de estabilización 'float_algebraic'
Carga
- 'trim-paths': emitir 'CARGO_TRIM_PATHS_REMAP' para build.rs
- 'diag': Da a los diagnósticos el mismo comportamiento de ruta de visualización que rustc
- 'diag': Informar de todos los errores, en orden
- 'publicar': evitar un bloqueo falso cuando 'to_confirm' no está vacío
- 'resolver': mover política de retiro a capa de resolver
Rustdoc
- también pasa pelusa 'unused_doc_comments'
- limpieza y (micro)optimización 'print_where_clause'
- doctest span correcto para punto y coma final después del ítem
- no despojar los objetos ocultos en 'AliasedNonLocalStripper'
- un poco más de formato perezoso
Rustfmt
- añadir 'doc_comment_code_block_small_heuristics', para anular 'use_small_heuristics' en el código de documento
- estabilizar 'hex_literal_case'
Clippy
- nueva pelusa de 'by_ref_peekable_peek'
- añadir pelusa de 'with_capacity_zero'
- 'mem_replace_with_default': también emiten macros internos
- 'infallible_destructuring_match': limpieza, separa la sugerencia del mensaje principal
- 'manual_is_variant_and': pelusa 'resultado.ok().is_some_and(f)'
- 'needless_borrow': métodos del mismo nombre falsos positivos
- 'unnecessary_lazy_evaluations': cierre de manilla '->'
- menospreciar la pelusa 'from_iter_instead_of_collect'
- eliminar 'is_integer_const'
- no activar 'ref_patterns' lint en código derivado automáticamente
- bucle de mejora nunca
- añadir configuración específica de perfil para métodos y tipos no permitidos
- corrige 'collapsible_match' sugiere erróneamente cuando el cuerpo del partido no lleva brackets
- corregir la sugerencia inversa 'unnecessary_sort_by' usando el nombre incorrecto del parámetro de cierre
- corregir llamada de cierre redundante falsa positiva asíncrona
- INTERPRETACIÓN: Marca 'is_in_test' por última vez en 'incompatible_msrv'
- perf: comprueba el tipo de token antes de extraer la fuente en lints literales tempranos
- perf: coincidir la forma de expresión antes de la comprobación MSRV en 'cloned_ref_to_slice_refs'
- PERF: saltarse la recogida de texto de 'doc_markdown' y escanear palabras cuando se permite la pelusa
- PERF: Salta el módulo de 'single_component_path_imports' cuando no hay nada que lutter
Analizador de Rust
- crear directorio para 'cargo xtask metrics rustc_tests'
- no cuenten C-variádicos '...' como parámetro para punteros fn
- soporte flyimport excluir variantes
- arreglar tareas de desestructuración sin introducir movimientos
- macro de oferta en línea en macro de llamada y proc macro
- prefiere el comando de banco cuando el objetivo está en banco para evitar el paso de carga
- soporta variable en línea en macro
- usar el id del paquete como argumento para '--package' si el package no es único
- asistir al trabajo de 'inline_type_alias' en definiciones de TDA
- perf: posponer la revisión inicial del espacio de trabajo hasta que se complete el primado de caché
- eliminar documentos sobre eliminar el comando 'analysis-bench'
- eliminar banderas de características innecesarias de las pruebas
- usar ASCII minúscula para comprobar extensiones de dilibación
Triaje de rendimiento del compilador Rust
Esta semana hemos tenido bastantes cambios, algunas pequeñas regresiones que fueron un poco difíciles de diagnosticar, pero la semana ha sido mayormente positiva, en general. Cabe destacar que obtuvimos una mejora enorme en el benchmark next-solver en #156187, y una buena aceleración para incremental en #157781.
Triaje hecho por @panstromek. Rango de revisión: f3ef3bd8.. b5d46ecb
Resumen:
| (instrucciones:u) | media | Rango | conde |
|:----------------------------------:|:-----:|:---------------:|:-----:|
| Regresiones ❌
(primaria) | 0,4% | [0,2%, 0,6%] | 22 |
| Regresiones ❌
(secundario) | 0,5% | [0,1%, 2,0%] | 40 |
| Mejoras ✅
(primaria) | -1,8% | [-5,9%, -0,1%] | 125 |
| Mejoras ✅
(secundario) | -3,8% | [-69,4%, -0,1%] | 90 |
| Todos ❌✅ (primario) | -1,5% | [-5,9%, 0,6%] | 147 |
1 regresión, 4 mejoras, 8 mixtas; 5 de ellos en rollups 28 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
- Corregir resolución del método de rasgos en un tipo nunca ajustado
- Problema de seguimiento para atomic_from_mut
- estabilizar nunca escribe
- Pelusa contra funciones iteradoras que entran en pánico cuando N es cero
Equipo de compiladores (solo MCPs)
- Soporte de contador de un solo byte en la instrumentación de cobertura
- Renombrar los archivos del compilador que contienen diagnósticos de estructuras como 'diagnostics.rs'
Consejo de Liderazgo
- Delegar subvenciones de proyectos al equipo de financiación
- Asignar presupuesto al equipo de financiación
RFCs Rust
Referencia lingüística
Sin artículos inscritos en el Periodo de Comentarios Finales esta semana para Carga, Equipo de Lenguaje 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 17-06-2026 y el 15-07-2026 🦀
Virtual
- 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 (Charlottesville, VA, EE. UU.) | Encuentro de Charlottesville Rust
- 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, Reino Unido) | Mujeres con Rust
- 2026-07-14 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-07-15 | Virtual (Vancouver, BC, CA) | Rust de Vancouver
Europa
- 2026-06-18 | Aarhus, DK | Rust Aarhus
- 2026-06-18 | Edimburgo, GB | Rust y amigos
- 2026-06-18 | Edimburgo, GB | Rust y amigos
- 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-24 | Manchester, GB | Manchester Rust
- 2026-06-25 | Berlín, DE | Berlín Oxidado
- 2026-06-25 | Copenhague, DK | Comunidad Copenhague Rust
- 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
- 2026-07-09 | Suiza, CH | Después de TenebrasLab
Norteamérica
- 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-18 | Nashville, TN, EE. UU. | Desarrolladores de Music City Rust
- 2026-06-20 | Boston, MA, EE. UU. Encuentro de Boston 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-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
Oceanía
- 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
"El tipo nunca se nombra según la fecha de su estabilización" fue un buen chiste mientras duró.
– Sergey "Shnatsel" Davidoff en /r/rust
¡Gracias a Dos Moonen 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