Esta semana en Rust #65
¡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
Boletines
Actualizaciones de proyectos/herramientas
- Tantivy 0.24
- Cómo escribir Rust en el kernel: parte 1
- GlueSQL v0.17.0 - Añadido soporte de almacenamiento redb
Observaciones/Pensamientos
- La Efectividad Irrazonable del Fuzzing para Portar Programas
- ¿Así que quieres serializar algo de DER?
- Por qué cambié de Flutter + Rust a Rust + egui
- Expresiones extrañas en Rust
- Migrar de Tokio heredado a escala
- Impulsando el compilador de Rust para compilar archivos individuales como shellcode
- Servicio de mostrador: Cómo lo reescribimos en Rust
- Defendiendo las democracias con Rust
- Rust: Un lenguaje que crece contigo, tu carrera y tus proyectos
- [lista de reproducción de vídeos] Computación científica en Rust 2025
Tutoriales de Rust
- Portar sombreadores de GPU a Rust 30 veces más rápido con IA
- Compresión de ADN bit a bit en Rust: huella pequeña con complementos inversos rápidos
- Escribir un controlador de dispositivo Linux básico cuando no sabe nada sobre controladores de Linux o USB
- Reescribiendo a Kafka en Rust Async: Perspectivas y lecciones aprendidas en Rust
- El manual completo de seguridad de Rust
Crate de la semana
El crate de esta semana es primitive_fixed_point_decimal, una caja de tipos decimales de punto fijo reales.
¡Gracias a Wu Bingzheng por la autosugerencia!
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.
RFCs
Rust
Rustup
Si es un implementador de funciones y desea que su RFC aparezca en la lista anterior, agregue la nueva 'llamada para pruebas' a su RFC junto con un comentario que proporcione instrucciones de prueba y/o orientación sobre qué aspecto(s) de la función necesitan pruebas.
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.
- Continuwuity - ACLs de sala predeterminadas
- Continuidad - Posibilidad de desactivar por completo la escritura y lectura de recibos
- Continuwuity - error: los usuarios de appservice no se crean al registrarse
- Continuwuity - Filtrado de invitaciones / deshabilitar invitaciones por cuenta
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
448 solicitudes de extracción fueron [fusionadas en la última semana][fusionadas]
Compilador
- perf: Almacenar en caché la instanciación canónica de param-envs
- asyncDrop trait sin sync Drop genera un error
- estabilizar 'generic_arg_infer'
- Omitir pegamento de gota sin operación
Biblioteca
- añadir los métodos 'trim_prefix' y 'trim_suffix' para los tipos 'slice' y 'str'
- permitir comparaciones entre 'CStr', CString' y Cow<CStr>'
- permitir almacenar 'format_args! ()' en variable
- impl 'Default' for 'array::IntoIter'
- cambiar la impl 'Default' de 'core::iter::Fuse' para hacer lo que sus documentos dicen que hace
- deja que String pase '#[track_caller]' a sus llamadas Vec
- implementación más segura de RepeatN
- use una implementación 'ToString' distinta para 'u128' e 'i128'
Carga
- cargo: 'feat(toml)': Soporte de análisis para múltiples scripts de compilación
- cargo: feat: introducir la opción perma unstable '--compile-time-deps' para 'cargo build'
- cargo: arreglar un posible punto muerto en 'CacheState::lock'
Rustdoc
- evite algunas asignaciones más en 'write_shared.rs'
- rustdoc-json: mantener los argumentos genéricos vacíos si están entre paréntesis
- rustdoc: hacer que srcIndex ya no sea una variable global
Clippy
- usar jemalloc para Clippy
- perf: No generes tantos compiladores (3/2) (19m → 250k)
- 'Sugg': no poner entre paréntesis un operador unario doble
- 'or_fun_call': lint más métodos
- añadir el espacio que falta al expandir una variante similar a una estructura
- verifique MSRV antes de sugerir aplicar 'const' a una función
- emitir lint sobre el cierre redundante en el propio nodo de cierre
- arreglar 'branches_sharing_code' sugiere engañosamente cuando está en la tarea
- arreglar 'clippy::question_mark' en let-else con cfg
- Corregir falso positivo 'exhaustive_structs' en estructuras con campo de valor predeterminado
- arreglar 'manual_ok_err' sugiere erróneamente con referencias
- arreglar 'non_copy_const' ICE
- arreglar 'wildcard_enum_match_arm' sugiere erróneamente con identificadores sin procesar
- corregir falso positivo de 'borrow_deref_ref'
- arreglar sugerencia-causas-error de 'empty_line_after_outer_attr'
- nueva pelusa: 'manual_is_multiple_of'
Analizador de Rust
- rust-analyzer: add 'fn parent(self, db) → GenericDef' a 'hir::TypeParam'
- Rust-analyzer: limpie 'folding_ranges' y soporte más cosas
- rust-analyzer: no se establece por defecto en 'static para la vida útil de los objetos rasgo
- Rust-analyzer: Captura de cierre para LET exprs
- rust-analyzer: arreglar el manifiesto del proyecto cargo que no apunta a la raíz del espacio de trabajo
- rust-analyzer: en la asistencia "Tipo de retorno de envoltura", no envuelva los puntos de salida si ya tienen el tipo correcto
- rust-analyzer: respect '.cargo/config.toml build.target-dir'
- rust-analyzer: deshabilita temporalmente el controlador de escritura '+' ya que mueve la posición del cursor
- rust-analyzer: use la higiene 'ROOT' para 'args' dentro de la nueva expansión 'format_args!
- Rust-analyzer: Ocultar los privados importados si el privado editable está deshabilitado
- Rust-analyzer: Imita la nueva expansión 'format_args!' de Rustc
Clasificación del rendimiento del compilador de Rust
Una semana dominada por el aterrizaje de un gran parche que implementó RFC # 3729 que desafortunadamente introdujo regresiones de rendimiento bastante considerables (promedio de ~ 1% de recuento de instrucciones en 111 puntos de referencia primarios). Se consideró que valía la pena para que el parche pudiera aterrizar y el rendimiento pudiera recuperarse en las PR de seguimiento.
Triaje realizado por @rylev. Rango de revisión: 45acf54e.. 42245d34
Resumen:
| (instrucciones:u) | media | Gama | Recuento | |:----------------------------------:|:-----:|:---------------:|:-----:| | Regresiones ❌
(primario) | 1.1% | [0.2%, 9.1%] | 123 | | Regresiones ❌
(secundaria) | 1.0% | [0.1%, 4.6%] | 86 | | Mejoras ✅
(primario) | -3,8% | [-7.3%, -0.3%] | 2 | | Mejoras ✅
(secundaria) | -2,3% | [-18.5%, -0.2%] | 44 | | Todos ❌✅ (primarios) | 1.0% | [-7,3%, 9,1%] | 125 |2 regresiones, 4 mejoras, 10 mixtas; 7 de ellos en rollups 40 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:
- No se aprobaron RFC 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
- Usar lld por defecto en x86_64-unknown-linux-gnu estable
- Permitir #[must_use] en tipos asociados para advertir sobre valores no utilizados en contextos genéricos
- Arreglar el manejo de proc_macro:Ident de $crate
- Asegurar búferes no vacíos para E/S vectoriales grandes
RFC de Rust
No hay artículos ingresados al Período Final de Comentarios esta semana para Carga, Referencia lingüística, 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-06-25 - 2025-07-23 🦀
Virtual
- 25/06/2025 | Virtual (Lima, PE)| Grupo de usuarios de Rust Perú
- 2025-06-26 | Virtual (Girona, ES) | Rust Girona
- 2025-06-26 | Virtual (Nürnberg, DE) | Rust de Núremberg
- 29/06/2025 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 02/07/2025 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
- 03/07/2025 | Virtual (Berlín, DE) | Rust Berlín
- 03/07/2025 | Virtual (Róterdam, Países Bajos) | Desarrollo de juegos de Bevy
- 05/07/2025 | Virtual (Kampala, UG) | Reunión de Rust Circle
- 06/07/2025 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 08/07/2025 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 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 | Virtual (Vancouver, Columbia Británica, CA) | Rust de Vancouver
- 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, Gran Bretaña) | Mujeres en Rust
Asia
- 28/06/2025 | Bangalore/Bangalore, IN | Rust de Bangalore
- 02/07/2025 | Seúl, KR | Encuentro de Seoul Rust (lenguaje de programación)
Europa
- 25/06/2025 | Londres, Reino Unido | Grupo del Proyecto Rust de Londres
- 25/06/2025 | París, FR | Región de París sistemática
- 2025-06-26 | Barcelona, ES | BcnRust
- 2025-06-26 | Copenhague, Dinamarca | Comunidad de Rust de Copenhague
- 2025-06-26 | París, FR | Rust Paris
- 30/06/2025 | Zagreb, RRHH | impl Zagreb para Rust
- 01/07/2025 | Gdansk, PL | Rust Gdansk
- 01/07/2025 | París, FR | Fornido
- 02/07/2025 | Basilea, CH | Basilea Rust
- 02/07/2025 | Fráncfort, DE | Rust Rhein-Main
- 02/07/2025 | Londres, Reino Unido | Grupo de Meetup de Oxford Rust
- 02/07/2025 | Posnan, PL | Rust Polonia
- 05/07/2025 | Estocolmo, SE | Estocolmo Rust
- 08/07/2025 | Londres, Reino Unido | Grupo del Proyecto Rust de Londres
- 09/07/2025 | Girona, ES | Rust Girona
- 09/07/2025 | Reading, Reino Unido | Taller de lectura de Rust
- 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
América del Norte
- 25/06/2025 | Austin, TX, Estados Unidos | Rust ATX
- 2025-06-26 | Chicago, Illinois, Estados Unidos | Encuentro de Rust en Chicago
- 2025-06-26 | Los Ángeles, CA, EE. UU. | Rust Los Ángeles
- 2025-06-26 | Los Ángeles (Chino Hills), CA, ESTADOS UNIDOS | Red Vara
- 2025-06-26 | Ciudad de México, MX | Rust MX
- 2025-06-26 | Spokane, WA, EE. UU. | Rust de Spokane
- 28/06/2025 | Boston, MA, EE. UU. | Encuentro de Boston Rust
- 03/07/2025 | Montreal, QC, CA | Rust Montreal
- 03/07/2025 | Saint Louis, MO, EE. UU. | STL Rust
- 06/07/2025 | Boston, MA, EE. UU. | Encuentro de Boston Rust
- 09/07/2025 | Phoenix, AZ, EE. UU. | Rust del desierto
- 15/07/2025 | San Francisco, CA, EE. UU. | Grupo de Estudio de la Roya de San Francisco
- 17/07/2025 | Nashville, Tennessee, Estados Unidos | Desarrolladores de Music City Rust
- 17/07/2025 | Redmond, WA, EE. UU. | Grupo de usuarios de Seattle Rust
- 23/07/2025 | Austin, TX, Estados Unidos | Rust ATX
Oceanía
- 30/06/2025 | Collingwood, VI, AU | Rust Melbourne
- 01/07/2025 | Christchurch, Nueva Zelanda | Grupo de encuentro de Christchurch Rust
América del Sur
- 2025-07-12 | São Paulo, BR | Encuentro de Rust São Paulo
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 Quién está contratando en r/rust
Frase de la semana
Nuestra experiencia es que, independientemente de la cantidad de medidas de seguridad que se le pongan al código, no hay una panacea que impida una mala programación. Por supuesto, para tomar el argumento contrario, los cinturones de seguridad no detienen todas las muertes por accidentes de tráfico, pero simplemente podría optar por no tener accidentes. Así que tenemos cinturones de seguridad. Si Rust puede prevenir algunos errores o intenciones maliciosas, tal vez valga la pena incluso si no es perfecto.
¡Gracias a Kill The Mule 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