Esta semana en Rust #106
¡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
Actualizaciones de proyectos/herramientas
- pquantum.dev: Criptografía postcuántica en Rust
- haproxy-spoe-rs: Una biblioteca de agentes SPOA de Rust para HAProxy
- Fresh 0.2.23: El IDE del terminal añade codificación Windows-1251, barra de estado personalizable y un buscador de archivos más rápido
- KAIO v0.2.0: Escribiendo núcleos de GPU en Rust al 92,5% de cuBLAS
- RustNet: Un TUI de análisis de tráfico de red en tiempo real
- AimDB: La próxima era de la arquitectura de software es la prioridad por los datos
- tailscale-rs v0.2.0: nuestra nueva vista previa de la biblioteca de Rust
- Sinbo: un gestor de fragmentos de CLI, almacenar fragmentos de código localmente con búsqueda difusa, cifrado y completados de shell
- FLODL v0.4.0: DDP multi-GPU heterogéneo con entrenamiento más rápido y mejor convergencia que una GPU solitaria
Observaciones/Pensamientos
- El e-gráfico acíclico: optimizador de gama media de Cranelift
- Rust debería tener llamadas de cola estables
- Los códigos de error planos no son suficientes
- Nadie te debe seguridad en la cadena de suministro
- Todo debe estar tipificado: los tipos escalares no son suficientes
- Sorpresas con préstamos
- Hoja de ruta para construir una biblioteca estándar ampliada para Rust
- Vale, ¿qué REALMENTE usa Rust?
- [audio] Netstack.FM episodio 34 — Tokio con Carl Lerche (Ep 5 Remasterizado)
Guías de Rust
- Desentrañando Tokio y Rayon en producción: de picos de latencia de 2s a 94 ms fijos
- Entendiendo Traceroute
- Trayendo Rust a la banda base del píxel
- Corrección de la latencia de cola DNS con una configuración de 5 líneas y una función de 50 líneas
- Desinflar tu Rust asíncrono
- Aprende la propiedad y el préstamo de Rust construyendo Mini Grep
- Oxidación de perfilado: Un Flamegraph vs PGO, BOLT y Segmentación Nativa de CPU
- Bulletproof Rust Web: Una guía opinativa sobre aplicaciones Axum de grado de producción
- Un VMM mínimo en Rust con KVM
- claudectl: Creando un panel TUI para agentes de codificación de IA en Rust
- [vídeo] Build con Naz: Elimina la espera ocupada con Rust Condvar
Crate de la semana
El crate de esta semana es Myth Engine, un motor de renderizado multiplataforma de alto rendimiento.
¡Gracias a Pan Xinmiao 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.
Esta semana no se presentaron convocatorias para participar.
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.
- EuroRust | CFP abierto hasta el 27-04-2026 | Barcelona, España | 2026-10-14 - 2026-10-17
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
519 pull requests fueron [fusionadas en la última semana][fusionadas]
Compilador
- ¡Añadir '#! [unstable_removed(..)]'atributo a las características eliminadas de la pista
- añadir sugerencia a '.to_owned()' usada en 'Vaca' al tomar prestado
- evitar el desbordamiento de pila en FindExprBySpan
- activar '#[diagnostic::on_const]' para impls locales
- introduce un atributo '#[diagnostic::on_unknown]
- reducir tamaño de 'ImportData'
- 'ty::Refactorización de Alias
- comprobaciones semánticas de restricciones 'impl'
- estabilizar registros vectoriales S390X
- guardar 'chunk_domain_size' explícitamente en 'Chunk'
Biblioteca
- añadir 'const Default' implica para 'LazyCell' y 'LazyLock'
- constify algunos métodos 'Iterator'
- constify DoubleEndedIterator
- constify 'Step for NonZero<u*>'
- No filtres temporales internos de 'DBG!'
- olvida explícitamente los cero elementos restantes en 'vec::IntoIter::fold()'
- impl const Residual para ControlFlow
- funciones iniciales para iniciar en transmutar v2
- introduce '#[diagnostic::on_move]' en 'Rc'
- haz que 'Box/Rc/Arc::into_array' sea consciente del asignador (y añadir doctest)
- función de estabilización 'int_lowest_highest_one'
- función de estabilización 'isolate_most_least_significant_one'
- función de estabilización 'uint_bit_width'
Carga
- limpio: añadir validación de directorio destino
- 'manifest': permitir dependencia de git junto con registro alternativo
- 'auth': añadir pista de esquema de autenticación al error de token rechazado para registros alternativos
- 'núcleo': usa 'closest_msg' para sugerir un nombre similar para un '-p'
- 'lints': ignorar el estado 'unused_crate_dependencies'
- 'toml': forzar advertencias de edición de guion en silencio
- copiar pruebas de validación de objetivo y dirección de carga limpia a 'clean_new_layout.rs'
- nunca incluir usar nombre de archivo extra en scripts de compilación
- objetivo de apoyo.'cfg(..)'. rustdocflags de forma análoga a rustflags
Rustdoc
- corregir tipos de patrón renderizado
- dep-info para entradas de markdown independientes
- heredar atributos en línea para macros declarativas
Clippy
- 'fn_to_numeric_cast_any': No avisar al lanzador al puntero crudo
- aún más correcciones para el manejo de macros
- extiende 'manual_filter' para cubrir 'and_then'
- corregir 'unused_async' falso positivo para artículos incompletos con args
- corregir sugerencia incorrecta para 'println_empty_string' con delimitadores que no sean paréntesis
- truncar constantes al tipo objetivo en comparación
Analizador de Rust
- los cambios en los scripts de compilación y en config.toml siempre deben actualizarse
- degradando la relevancia de la finalización cuando ya existe una implicación inherente
- mejoran marcadores de comandos ejecutables
- soportar restricciones 'impl' y 'mut'
- corregir '[env]' en '.cargo/config.toml' anulando variables del entorno del proceso
- Corregir el comando personalizado relativo de Rustfmt
- Evaluación MIR de tamaño &T con const recursivo fn
- comprueba coerción, no unificación, en "Rellenar campos 'struct'", como criterio para usar un local existente como valor del campo
- variantes completas de enums ocultos mediante alias públicos
- considera el contexto de la ruta para 'ImportAssets'
- diagnosticar caja con CFGS
- desactiva la corrección de campos perdidos cuando los campos son privados
- activar vscode suggest en cuerdas
- corregir la posición de 'ref_match' cuando se prefija palabra clave
- mejora añadir algo en la expresión tipo bloque
- mejora la etiqueta en 'add_missing_match_arms' asistencia
- no hay expresiones de término completo en el camino cualificado
- sin indexación de ref para 'extract_function'
- no importaciones en la ruta calificada por tipo ancla
- analiza 'cfg_attr' y 'cfg' especialmente
- también la mutabilidad del token en el flujo de edición
- migrar extraer 'struct' de la variante 'enum' al nuevo SyntaxEditor y portar heurísticas de espacios en blanco a SyntaxEditor
- reemplazar make from generar un solo campo 'struct' desde con SyntaxFactory
- desenrollar el retorno de resultado innecesario en 'view_crate_graph'
Triaje de rendimiento del compilador Rust
Esta semana fue negativa, principalmente causada por una corrección de Type System y porque tuvimos que revertir temporalmente algunas limpiezas de atributos que antes mejoraban el rendimiento.
Triaje hecho por @panstromek. Rango de revisión: e73c56ab.. dab8d9d1
Resumen:
| (instrucciones:u) | media | Rango | conde |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regresiones ❌
(primaria) | 0,4% | [0,2%, 0,7%] | 46 |
| Regresiones ❌
(secundario) | 0,5% | [0,1%, 2,3%] | 102 |
| Mejoras ✅
(primaria) | -0,5% | [-0,6%, -0,4%] | 4 |
| Mejoras ✅
(secundario) | -0,4% | [-0,6%, -0,2%] | 5 |
| Todos ❌✅ (primario) | 0,4% | [-0,6%, 0,7%] | 50 |
4 regresiones, 1 mejora, 5 mixtas; 6 de ellos en rollups 41 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
- Verificar que el penúltimo segmento de la ruta variante de enum se refiere a enum si tiene args
- despreciar constantes y funciones 'std::char'
- 'impl Default' para 'RepeatN'
- Hacer que std::fs::Archivo se envíe en UEFI
Carga
Equipo de compiladores (solo MCPs)
- Optimizar los enums 'repr(Rust)' omitiendo etiquetas en más casos que involucren variantes deshabitadas.
- Propuesta para una suite de pruebas dedicada para el frontend paralelo
- Promocionar objetivos ESP-IDF de nivel 3 riscv32 a nivel 2
- Propuesta para Adapt Stack Protector para Rust
RFCs Rust
Consejo de Liderazgo
Sin artículos inscritos en el Periodo de Comentarios Finales esta semana para Referencia lingüística, 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 15-04-2026 y el 13-05-2026 🦀
Virtual
- 2026-04-15 | Híbrido (Vancouver, BC, CA) | Rust de Vancouver
- 2026-04-15 | Virtual (Girona, ES) | Rust Girona
- 2026-04-16 | Híbrido (Seattle, WA, EE. UU.) Grupo de usuarios Seattle Rust
- 2026-04-19 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-04-21 | Virtual (Washington, DC, EE. UU.) | Oxidación DC
- 2026-04-22 | Virtual (Girona, ES) | Rust Girona
- 2026-04-23 | Virtual (Ámsterdam, NL) | Desarrollo del juego Bevy
- 2026-04-23 | Virtual (Berlín, DE) | Berlín Oxidado
- 2026-04-24 | Virtual (Nairobi, KE) | RustaceansKenya
- 2026-04-28 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-04-28 | Virtual (Londres, Reino Unido) | Mujeres con Rust
- 2026-04-29 | Virtual (Girona, ES) | Rust Girona
- 2026-05-01 | Virtual (Núremberg, DE) | Núremberg de Oxid
- 2026-05-02 | Virtual (Kampala, UG) | Encuentro del Círculo de Rust
- 2026-05-03 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-05-06 | Virtual (Girona, ES) | Rust Girona
- 2026-05-06 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
- 2026-05-07 | Virtual (Berlín, DE) | Berlín Oxidado
- 2026-05-07 | Virtual (Núremberg, DE) | Núremberg de Oxid
- 2026-05-12 | Virtual (Dallas, TX, EE. UU.) | Encuentro de usuarios de Dallas Rust
- 2026-05-12 | Virtual (Londres, GB) | Mujeres con Rust
- 2026-05-13 | Virtual (Girona, ES) | Rust Girona
Asia
- 2026-04-17 | Bangalore, IN | Rust India
- 2026-04-18 | Bangalore, IN | Rust India
- 2026-05-13 | Malasia, MI | Rust Meetup Malasia
Europa
- 2026-04-16 | Berlín, DE | Berlín Oxidado
- 2026-04-21 | Leipzig, DE | Rust - Programación de sistemas modernos en Leipzig
- 2026-04-23 | Aarhus, DK | Rust Aarhus
- 2026-04-24 - 2026-04-26 | Augsburgo, DE | Reunión de Rust Augsburg
- 2026-04-25 | Estocolmo, SE | Rust de Estocolmo
- 2026-04-29 | París, FR | Paris Rustaceans
- 30-04-2026 | Manchester, GB | Manchester Rust
- 2026-05-02 | Augsburgo, DE | Rust Múnich y Rust Augsburg
- 2026-05-04 | Ámsterdam, NH, NL | Grupo Rust Developers Ámsterdam
- 2026-05-04 | Frankfurt, DE | Rust Rhein-Main
- 2026-05-05 | Olomouc, CZ | Moravia Oxidada
Norteamérica
- 2026-04-15 | Híbrido (Vancouver, BC, CA) | Rust de Vancouver
- 2026-04-16 | Híbrido (Seattle, WA, EE. UU.) Grupo de usuarios Seattle Rust
- 2026-04-16 | Mountain View, CA, EE. UU. | Dojo Hacker
- 2026-04-16 | Nashville, TN, EE. UU. | Desarrolladores de Music City Rust
- 2026-04-18 | Boston, MA, EE. UU. Encuentro de Boston Rust
- 2026-04-20 - 2026-04-22 | Portland, OR | Tokio
- 2026-04-21 | San Francisco, CA, EE. UU. Grupo de Estudio sobre el Rust de San Francisco
- 2026-04-22 | Austin, TX, EE. UU. | ATX de Rust
- 2026-04-22 | Nueva York, NY, EE. UU. Rust NYC
- 2026-04-22 | Portland, OR | Apache DataFusion Meetup
- 2026-04-23 | Los Ángeles, CA, EE. UU. | Rust Los Ángeles
- 2026-04-25 | Boston, MA, EE. UU. Encuentro de Boston Rust
- 2026-04-28 | Nueva York, NY, EE. UU. Rust NYC
- 30-04-2026 | Atlanta, GA, EE. UU. Rust Atlanta
- 2026-05-07 | Saint Louis, MO, EE. UU. STL Rust
Sudamérica
- 2026-04-17 | Río de Janeiro, BR | Encuentros con Rust RJ
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 está contratando en r/rust
Cita de la semana
la cantidad de veces que paso 15 minutos en la documentación + programando, que acaban en un monstruoso 'o().flatten().map().is_ok_and)' solo para que Clippy me dé una bofetada diciendo 'reemplaza tu monstruo por esta única función, por favor' es demasiado alta 😀
– Teufelchen en RIOT chat de matriz fuera de tema
¡Gracias a chrysn 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