Esta semana en Rust #53
¡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 en X (antes Twitter) 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 🥰
Fundación
Actualizaciones de proyectos/herramientas
- Fastrace: Un enfoque moderno para el rastreo distribuido en Rust
- registro de cambios de rust-analyzer #278
- Presentamos Cot v0.2: Una nueva versión del framework web Rust para desarrolladores perezosos
Observaciones/Pensamientos
- ¿Lo inseguro socava las garantías de Rust?
- Notas sobre coreutils en Rust
- Rust en 2025: Interoperabilidad del lenguaje y el compilador extensible
- Rasgos asíncronos de Dyn, parte 10: Caja caja caja
- ¿Tienes una idea para 'dyn'?
- Inicialización retrasada segura para extensión de por vida
- Solo escribe una prueba para ello
- [audio] ExpressVPN con Pete Membrey
- Construyendo un sitio web rápido con la pila MASH
Tutoriales de Rust
- Un truco tonto de proc-macro: Cómo emitir código parcial + errores
- Proveedor de dependencias de C/C++ en Rust
- La actualización más rápida de Vec en mi PC
- Un trabajo por lotes 10 veces más rápido mediante el procesamiento por lotes de inserciones/actualizaciones de PostgreSQL con Rust y SQLx
- Cerrando la brecha de eficiencia entre FromStr y string
- [video] Build with Naz : rasgos, subtipado, polimorfismo en Rust
- [video] Rust y programación embebida con Leon Vak
Crate de la semana
El crate de esta semana es jiff, una biblioteca de fecha y hora para Rust.
¡Gracias a Filip T por la sugerencia!
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 una etiqueta de 'llamada para pruebas' a su RFC junto con con un comentario que proporcione instrucciones de prueba y/o orientación sobre qué aspecto (s) de la función necesitan pruebas.
-
- Esta semana no se emitieron convocatorias para pruebas por parte de Rust, RFC del lenguaje Rust o Oxidación.*
Háganoslo saber si desea que se realice un seguimiento de su función como parte de esta lista.
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.
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.
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
Se [fusionaron 496 solicitudes de extracción en la última semana][fusionadas]
Compilador
Biblioteca
- 'MaybeUninit' métodos de corte inherentes parte 2
- core/slice: marcar algunas variantes 'split_off' de manera inestable const
- core: optimize 'RepeatN'
- implementar métodos predeterminados para 'io::Empty' y 'io::Sink'
- optimizar 'io::Write::write_fmt' para cadenas constantes
- simplificar 'PartialOrd' en tuplas que contienen primitivas
- reducir 'FormattingOptions' a 64 bits
Carga
- Agregar completador personalizado para <TAB>carga '' para completar los alias definidos en config.toml
Rustdoc
- ser más estricto acerca de los "Métodos de Deref"
- predicados de puerta inestable 'doc(cfg())'
- use su propia lógica para imprimir '#[repr(..)]' en la salida JSON
Clippy
- 'wildcard_imports': pelusa en 'uso de pub' si se te pide
- agregue la verificación de MSRV para 'question_mark'
- añadir pelusa 'ignore_without_reason'
- emitir 'collapsible_match' en el nodo derecho
- expanda 'neg_multiply' a los números flotantes de lint también
- Sugerencia de corrección para las tareas que tienen paréntesis encerrados debajo de 'needless_late_init'
- corrección: 'borrow_deref_ref' sugiere erróneamente cuando se coacciona para silenciar
- corrección: 'filter_map_bool_then' sugieren erróneamente cuando el cierre no se puede descomponer directamente
- corrección: 'manual_find' sugiere erróneamente cuándo se regresa temprano
- corrección: 'missing_const_for_fn' falso positivo en rasgos const inestables
- corrección: 'nonminimal_bool' mostró erróneamente la definición de macro
- corrección: falso positivo 'option_if_let_else' cuando el valor se movió parcialmente
- corrección: falso positivo de 'redundant_clone' en el lanzamiento de 'enum'
- mejorar la pelusa 'string_to_string' en caso de que esté en una llamada de mapa
- lint más casos en 'collapsible_if'
- flexibilizar la aplicabilidad de 'never_loop'
- mover 'uninlined_format_args' de nuevo a 'estilo'
- restablecer las líneas 'single_match'/'single_match_else' con comentarios
- sugerir 'is_some_and' en lugar de 'map_or' en 'case_sensitive_file_extension_comparions'
- unificar el código 'manual_unwrap_or' y 'manual_unwrap_or_default'
- use 'código' para referencias a otras lints en los documentos 'as_conversions'
Analizador de Rust
- arreglar ide-assist 'let else' a 'if let else'
- Agregar diagnóstico para el error de ambigüedad faltante para el rasgo IMPL
- agregar finalización de sufijo para el bloque const
- Agregar soporte de edición de texto para sugerencias de tipo de retorno en cierres de cuerpo que no son de bloque
- analysis-stats: emitir líneas de código y recuentos de árboles de elementos para el espacio de trabajo; dependencias
- analizar campos de registro 'inseguros'
- Se corrige el resaltado de sintaxis faltante para '&raw const' / '&raw mut' en todos los archivos
- arreglar el cierre de retorno de inlayhints usando rangos de macros
- manejar múltiples '#[repr(..)]' attrs correctamente
- calcular correctamente los diseños de las tuplas ptrs cuyos últimos campos son DST
- diseño de renderizado y otra información adicional al pasar el cursor sobre 'Self'
- acelerar la resolución de una asistencia de "Generar método de delegado"
Clasificación del rendimiento del compilador de Rust
Una semana casi sin ruido, lo cual es emocionante, con una serie de mejoras aterrizando para una velocidad media acumulada de hasta un 0,5%, posiblemente mayor si Ignoramos las regresiones que probablemente se corrijan o reviertan de #138674.
Triaje realizado por @simulacrum. Rango de revisión: 493c38ba.. 4510E86A
3 regresiones, 4 mejoras, 2 mixtas; 3 de ellos en rollups 35 comparaciones de artefactos realizadas en total
Lea el informe completo para obtener más detalles.
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
- ¡Deja de usar el inestable 'concat_idents!'
- Estabilizar '#! [característica(precise_capturing_in_traits)]'
RFC de Rust
- Problema de seguimiento para slice::array_chunks
- Estabilizar const_cell
- Eliminar los acentos graves de 'ShouldPanic::YesWithMessage' 'TrFailedMsg'
- Use 'binOp::cmp' para 'iNN::signum'
- Prefiera impls de tamaño incorporado (y solo impls de tamaño) para tipos rígidos siempre
Otras áreas
- *No hay artículos ingresados al Período Final de Comentarios esta semana para Carga, Equipo lingüístico, Referencia lingüística 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-03-26 - 2025-04-23 🦀
Virtual
- 27/03/2025 | Virtual (Berlín, DE) | Rust Berlín
- 01/04/2025 | Virtual (Buffalo, NY, EE. UU.) | Encuentro de Buffalo Rust
- 02/04/2025 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
- 03/04/2025 | Virtual (Nürnberg, DE) | Rust, Núremberg, DE
- 05/04/2025 | Virtual | Laboratorios Ardan
- 05/04/2025 | Virtual (Kampala, UG) | Reunión de Rust Circle
- 08/04/2025 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 10/04/2025 | Virtual (Berlín, DE) | Rust Berlín
- 2025-04-15 | Virtual (Washington, DC, EE. UU.) | Rust DC
- 16/04/2025 | Virtual (Vancouver, Columbia Británica, CA) | Rust de Vancouver
- 17/04/2025 | Virtual y presencial (Redmond, WA, EE. UU.) | Grupo de usuarios de Seattle Rust
- 2025-04-22 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
Asia
- 2025-03-28 | Kowloon Tong, HK | Rust de Asia
- 05/04/2025 | Bangalore/Bangalore, IN | Rust de Bangalore
- 2025-04-22 | Tel Aviv-Yafo, IL | Rust 🦀 TLV
Europa
- 2025-03-26 | Fráncfort, DE | Rust Rhein-Main
- 2025-03-26 | Manchester, Reino Unido | Rust de Manchester
- 2025-03-26 | Varsovia, PL | Rustikon
- 27/03/2025 | Augsburgo, DE | Encuentro de Rust Augsburgo
- 27/03/2025 | Copenhague, Dinamarca | Comunidad de Rust de Copenhague
- 29/03/2025 | Estocolmo, SE | Estocolmo Rust
- 02/04/2025 | Cambridge, Reino Unido | Encuentro de Cambridge Rust
- 02/04/2025 | München, DE | Rust Múnich
- 02/04/2025 | Oxford, Reino Unido | Grupo de Meetup de Oxford Rust
- 02/04/2025 | Estocolmo, SE | Estocolmo Rust
- 03/04/2025 | Oslo, NO | Rust Oslo
- 08/04/2025 | Olomouc, CZ | Rust Moravia
- 09/04/2025 | Girona, ES | Rust Girona
- 09/04/2025 | Reading, Reino Unido | Taller de lectura de Rust
- 10/04/2025 | Karlsruhe, DE | Rust Hack & Learn Karlsruhe
- 2025-04-15 | Leipzig, DE | Rust - Programación de sistemas modernos en Leipzig
- 2025-04-15 | Londres, Reino Unido | Mujeres en Rust
- 2025-04-19 | Estambul, TR | Comunidad de Rust de Türkiye
- 23/04/2025 | Londres, Reino Unido | Grupo del Proyecto Rust de Londres
América del Norte
- 2025-03-26 | Austin, TX, Estados Unidos | Rust ATX
- 2025-03-26 | Boston, MA, EE. UU. | Encuentro de Boston Rust
- 2025-03-26 | Nueva York, NY, EE. UU. | Rust Nueva York
- 27/03/2025 | Atlanta, Georgia, Estados Unidos | Rust Atlanta
- 29/03/2025 | Boston, MA, EE. UU. | Encuentro de Boston Rust
- 31/03/2025 | Boulder, CO, EE. UU. | Depósito de estado sólido
- 03/04/2025 | Chicago, Illinois, Estados Unidos | Encuentro de Rust en Chicago
- 03/04/2025 | Montreal, QC, CA | Rust Montreal
- 03/04/2025 | Saint Louis, MO, EE. UU. | STL Rust
- 06/04/2025 | Boston, MA, EE. UU. | Encuentro de Boston Rust
- 10/04/2025 | Portland, Oregón, Estados Unidos | PDXRust
- 14/04/2025 | Boston, MA, EE. UU. | Encuentro de Boston Rust
- 17/04/2025 | Nashville, Tennessee, Estados Unidos | Desarrolladores de Music City Rust
- 17/04/2025 | Redmond, WA, EE. UU. | Grupo de usuarios de Seattle Rust
- 23/04/2025 | Austin, TX, Estados Unidos | Rust ATX
Oceanía
- 14/04/2025 | Christchurch, Nueva Zelanda | Grupo de encuentro de Christchurch Rust
- 2025-04-22 | Barton, AC, AU | Grupo de usuarios de Canberra Rust
América del Sur
- 27/03/2025 | Medellín, CO | Rust Medellín
- 03/04/2025 | Buenos Aires, AR | Rust en Español
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 Who's Hiring en r/rust
Frase de la semana
¿Funcionó? Es Rust, ¡así que funcionó en el primer intento!
– James Calligeros sobre el informe de progreso de Asahi
¡Gracias a yerke 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