Esta semana en Rust #45
¡Hola y bienvenido a otro número de esta semana en Rust! Rust en lenguaje programación que permite todo el mundo crear software fiable y eficiente. Este es un resumen semanal de su progreso y comunidad. ¿Quieres que mencionemos algo? Etiquétanos en @ThisWeekInRust en X (antes Twitter) o @ThisWeekinRust en mastodon.social, o envíanos un solicitud extracción. ¿Quieres participar? Nos encantan la contribuciones.
Esta semana en 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 en esta semana, por favor envía un PR.
¿Quieres tener TWIR en tu bandej e entrada? Suscríbet quí.
Actualizaciones de la comunida de Rust 🥰
Oficial
Boletines
Actualizaciones de proyectos/herramientas
Observaciones/Pensamientos
- Comparación de las bibliotecas actor de Rust: Actix, Coerce, Kameo, Ractor y Xtra
- Mejorar el tiempo de compilación de Rust en 108X
- Codificación UTF-8 sin ramificaciones
- La caza del error -22
- Recarga automática del servidor en Rust: ¿Qué son listenfd/systemfd?
- Investigando un extraño error de falta de memoria
- Comparación de 13 crates de Rust para extraer texto de HTML
- Enrutamiento frontend type-safe en Rust/Leptos
- Entrevista con un apasionado desarrollador de Rust, Radu Marias
- Presentación de RealtimeSanitizer para Rust
- El stack HARM (HTMX, Axum/AlpineJS, Rust, Maud) considerado inofensivo
- Inferencia de tipos en Rust y C++
- La canonicalización de rutas no es ergonómica
- [Video] Rust Not Complicated - Una perspectiva de arquitecto
Tutoriales de Rust
- Una amable introducción a WebAssembly en Rust (edición 2025)
- Añadiendo una nueva falsificación al crate fake
- API de audio en streaming: el servidor Axum
- Prototipado en Rust
Miscelánea
- Resumen de 2024 - Seanmonstar
- "Nunca actualizamos a menos que nos obliguen" - Resumen 2024 de cargo-semver-checks
- Resumen anual: Lo destacado de 2024 y un vistazo a 2025 - Grafito
- Por qué Rust no es un lenguaje funcional
- Cómo pienso sobre Zig y Rust
- [Video] Rompiendo la seguridad de memoria de Rust en 1 línea de código
- [Audio] Crates que amamos | Rust y amigos
Crate
de la semana
La Crate
de esta semana es resvg, una biblioteca de renderizado SVG.
¡Gracias a David Mason por sugerir su propia crate!
Por favor, envíen sus sugerencias y votos para la próxima semana!
Llamada a pruebas
Un paso importante en la implementación de una RFC es que las personas experimenten con la implementación y brinden retroalimentación, especialmente antes de su estabilización. Las siguientes RFCs se beneficiarían de pruebas por parte de los usuarios antes de continuar avanzando:
RFCs
- No se emitieron convocatorias para pruebas esta semana.
Rust
- No se emitieron convocatorias para pruebas esta semana.
Rustup
- No se emitieron convocatorias para pruebas esta semana.
Si es un implementador de funciones y desea que su RFC aparezca en la lista anterior, agregue una nueva 'call-for-testing' 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 ser evaluados.
Convocatorio a la participación; Proyectos y ponentes
CFP - Proyectos
¿Siempre quisiste contribuir a proyecto de código abierto pero no sabías por dónde empezar? ¡Cada semana destacamos algunas tarea en la comunida de Rust para que elijas y comiences!
Alguna de estas tareas también pueden tener mentores disponibles, visite la página de tareas para obtener más información.
- rama - primera versión de Rama-Unix
- rama - añadir servicio de router web a rama-http
- rama - Añadir Benchmark de rama de Pila Completa
- rama - añadir rama al "The-Benchmarker"
- rama - Añadir Rama del Server Benchmark a Sharkbench
- rama - añadir rama al FrameworkBenchmark de TechEmpower
Si eres propietario de un proyect de Rust y estás buscando colaboradores, por favor envía tareas aquí a través de un PR to TWiR o poniéndote en contacto en X (antes Twitter) o Mastodon!
CFP - Eventos
¿Eres un orador nuevo experimentado que busca un lugar para compartir algo genial? Esta sección destaca los eventos que se están planificando y que está aceptando presentaciones par unirse a su evento como orador.
Si eres organizador de un evento y esperas ampliar su alcance, envía un enlace a la página web a través de un PR a TWiR o contactándonos en X (antes Twitter) o Mastodon.!
Actualizacione el Proyecto Rust
Se [fusionaron 397 solicitude e extracción en la última semana][fusionadas]
cfg_match
: Mejorar sintaxisrustc_resolve
: Usar campos estructurados en los logs de seguimiento- Agregar anulación de perfil para fuentes que no son Git
- Añadir caché a
AmbiguityCausesVisitor
- Agregar convención de llamada GPU-kernel
- Añadir
license-metadata.json
al tarballrustc-src
- Permitir coerción de funciones
target_feature
seguras a punteros de función seguros - Forzar recorte de rutas en el lint
unreachable_patterns
- Limpiar verificación de movimiento promovido
- Mejorar manejo de errores de diseño inválido
- Consolidar lints MIR ad-hoc en lints MIR formales
- Trait const: Eliminar falsos positivos conocidos
- const-eval: Detectar más punteros definitivamente no nulos
- Convertir
FromBytesWithNulError
de struct a enum - Cobertura: Revisar asignación de contadores usando CFG
- Detectar cadena
else if
faltante en errores de tipo - Prohibir
A { .. }
cuandoA
no tiene campos - Ignorar traits con condiciones no satisfechas en const-checking
- Optimizar análisis de argumentos en ejecuciones sin parámetros
- Mejorar manejo de drops ansiosos para structs con vidas
- Codificar restricciones de ubicación en Polonius
- Reforzar estabilidad sintáctica de traits const en HIR
- Corregir ICE en resolución de elementos asociados sin vinculantes
- Corregir desbordamientos en el lint
overflowing_literals
- Mejorar sugerencia para desreferenciación de punteros sin format
- Optimizar búsqueda de funciones basadas en tipo de retorno
- Desestabilizar completamente los atributos internos personalizados
- Mejorar
panic_immediate_abort
eliminando mensajes redundantes - Implementar elementos de trait asociados en bloques
use
- Mejorar validación de
DispatchFromDyn
yCoerceUnsized
- Prevenir monomorfización de instancias imposibles
- Finalizar implementación de Polonius sensible a ubicación
- Hacer
missing_abi
lint warn por defecto - Asegurar manejo de regiones en Borrowck
- Manejar correctamente sustituciones de vidas triviales
- Producir errores
ConstArgHasWrongType
para valores const - Hacer métodos de traits const como const
- Limpiar manejo de regiones en Mir Borrowck
- Nuevo solver: Preferir implementaciones triviales
- Tratar solo patrones literales simples como cortos
- Esbozar código de pánico para
LocalKey::with
- Reemplazar
extern "rust-intrinsic"
con#[rustc_intrinsic]
- Preferir candidatos menores en
TraitUpcasting
- Sugerencia estructurada para
#![feature(..)]
inválido - Reexportar
likely
/unlikely
enstd::hint
- Respetar
--sysroot
enrustc -vV
y-Cpasses=list
- Ignorar HirIds duplicados en hash estable
- Mejorar búsqueda basada en tipos
- Tratar funciones
target_feature
como unsafe por defecto - Usar tipos C-safe para intrínsecos
__rust_[ui]128_*
- Retorno indirecto para
i128
/f128
en wasm32 - Detectar definiciones de traits para alias de traits
- Manejar discriminadores LLVM excedidos
- Estabilizar
float_next_up_down
- Asignar ID de hilo principal perezosamente
- Refinar
Path::name
para mostrar solo el elemento final - Mover
std::pe
astd::io
- Reducir código unsafe en
dangling
/without_provenance
- Crear función para alias definidos por usuario
- Corregir
Benchsuit
con versiones nuevas de Git - Corregir concatenación y nombres de variables
- Integrar funcionalidad de terceros en
list_commands
- Eliminar trait
AttributesExt
obsoleto - Reemplazar listas de módulos con elementos semánticos
- Nuevo lint:
repeat().take()
→repeat_n()
- Mover
literal_string_with_formatting_args
a nursery - Emitir
missing_const_for_fn
paraCONST_MUT_REFS
- Corregir sugerencia para
significant_drop_in_scrutinee
- Nuevo lint:
useless-non-zero-new_unchecked
- Nuevo lint:
unnecessary_semicolon
- Soporte para elisión de autotipos en Rust 1.81+
- Mejorar sugerencia para
manual_div_ceil
- Mejorar sugerencia multipar para
unnecessary_map_or
- Añadir anotaciones faltantes
#[rust_analyzer::rust_fixture]
- Añadir feature
Win32_Foundation
faltante - Mejorar persistencia de variables en dispatchers
- Autocompletado de desreferenciación
- Finalización inteligente para
await
/iter()
- Navegación entre definiciones
From
/Into
- Completado raw y palabras clave
const
- Límites de renderizado de tipos en proyecciones
- Acción
go-to-type-def
para parámetros y trait bounds - Requerir
unstable-options
encargo rustc --print
- Detectar errores de llaves faltantes en
let...else
- Manejar correctamente variantes de enums en resolución de tipos
- Manejar desbordamiento de pila en expansión de macros
- Corregir navegación ascendente en impls de traits
- Almacenar correctamente raíces de archivos
- Hacer
stdout
opcional en pruebas de cargo - Mejorar configuración de escritura opcional
- Generalizar sugerencias de tipos en hover
- Optimizar envío de mensajes LSP
- Hacer
RTLD_DEEPBIND
portable en proc-macro-srv - Registrar reexports significativos correctamente
Clasificación del rendimiento de compilador de Rust
Una semana muy tranquila para el rendimiento, con pequeña mejoras esencialmente en todos los benchmarks.
Triage de realizado por @simulacrum. Range de revisión: 1ab85fbd.. 9a1d156f
0 Regresión, 1 Mejora, 2 Mixto; 0 de ellos en rollups 40 comparacione rtefactos realizadas en total
RFC aprobados
Los cambios en Rust siguen el proceso de Rust RFC (solicitu omentarios). Estos son las RFC que se probaron para la implementación 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.
RFCs
Seguimiento de problemas y PRs
Rust
- Eliminar los atributos obsoletos
#![start]
ycrate_id
- Estabilizar
target_feature_11
- Agregar documentación de error 'El archivo ya existe' a la función
hard_link
- Problema de seguimiento para
once_wait
- Corregir(libtest): Dejar de usar
--logfile
- Windows: Eliminar archivos de solo lectura
- Hacer que la feature
rustc_encodable_decodable
sea correctamente nestable
Cargo
- No hay problemas de Cargo en período final de comentarios esta semana
Equipo de Lenguaje
- Ninguna propuesta del equipo de lenguaje en período final de comentarios
Referencia del Lenguaje
- No hay RFCs de referencia en período final de comentarios
Directrices de Código Inseguro
- No hay actualizaciones en directrices de código inseguro
RFCs nuevas y actualizadas
Próximos eventos
Evento Rust entre 2025-01-22 - 2025-02-19 🦀
Eventos Virtuales de Rust
Virtual
- 2025-01-22 | Virtual (Róterdam, Países Bajos) | Desarrollo de juegos con Bevy
- 2025-01-23 y 2025-01-24 | Virtual | Taller de Rust por Mainmatter
- 24/01/2025 | Virtual (Jersey City, Nueva Jersey, EE. UU.) | Jersey City, Club de Codificadores Elegante y Curioso Cooperativo
- 26/01/2025 | Virtual (Tel Aviv-Yafo, IL) | Rust 🦀 TLV
- 27/01/2025 | Virtual (Londres, Reino Unido) | Grupo del Proyecto Rust de Londres
- 28/01/2025 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 30/01/2025 | Virtual (Berlín, DE) | OpenTechSchool Berlín + Rust Berlin
- 30/01/2025 | Virtual (Charlottesville, VA, EE. UU.) | Reunión de Rust en Charlottesville
- 30/01/2025 | Virtual (Tel Aviv-Yafo, IL) | Expertos en código 🦀 - 🐍 - 🐪
- 31/01/2025 | Virtual (Delhi, IN) | Asociación de Hackathon Raptors
- 31/01/2025 | Virtual (Jersey City, Nueva Jersey, EE. UU.) | Jersey City, Club de Codificadores Elegante y Curioso Cooperativo
- 01/02/2025 | Virtual (Kampala, UG) | Círculo de Rust Kampala
- 04/02/2025 | Virtual (Buffalo, NY, EE. UU.) | Encuentro de Buffalo Rust
- 04/02/2025 | Virtual (Londres, Gran Bretaña) | Mujeres en Rust
- 05/02/2025 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
- 07/02/2025 | Virtual (Jersey City, Nueva Jersey, EE. UU.) | Jersey City, Club de Codificadores Elegante y Curioso Cooperativo
- 2025-02-11 | Virtual (Dallas, TX, EE. UU.) | Reunión de usuarios de Dallas Rust
- 2025-02-11 | Virtual (Tel Aviv-Yafo, IL) | Expertos en código 🦀 - 🐍 - 🐪
- 13/02/2025 | Virtual (Berlín, DE) | Rust Berlín
- 18/02/2025 | Virtual (Washington, DC, EE. UU.) | Rust DC
- 19/02/2025 | Virtual (Vancouver, Columbia Británica, CA) | Rust en Vancouver
Europa
- 2025-01-22 | Londres, Gran Bretaña | Grupo de usuarios de Rust London
- 2025-01-22 | Oberursel, DE | Rust Rhein Main
- 23/01/2025 | Barcelona, ES | Barcelona Software Libre
- 23/01/2025 | París, FR | Rust Paris
- 24/01/2025 | Edimburgo, Gran Bretaña | Rust y sus amigos
- 27/01/2025 | Praga, CZ | Rust Praga
- 27/01/2025 | Zagreb, RRHH | impl Zagreb para Rust
- 28/01/2025 | Aarhus, DK | Rust Aarhus
- 28/01/2025 | Manchester, Gran Bretaña | Rust en Manchester
- 28/01/2025 | Varsovia, PL | Rust Varsovia
- 30/01/2025 | Augsburgo, DE | Encuentro de Rust Augsburgo
- 30/01/2025 | Berlín, DE | Rust Berlín
- 30/01/2025 | Copenhague, Dinamarca | Comunidad de Rust en Copenhague
- 01/02/2025 | Bruselas, BE | FOSDEM 2025
- 01/02/2025 | Helsinki, FI | Grupo Rust-lang de Finlandia
- 01/02/2025 | Nürnberg, DE | Rust en Núremberg
- 05/02/2025 | Oxford, Gran Bretaña | Grupo de Meetup de Oxford Rust
- 06/02/2025 | Gdansk, PL | Rust Gdansk
- 2025-02-12 | Lectura, GB | Taller de lectura de Rust
- 18/02/2025 | Leipzig, SN, DE | Rust - Programación de sistemas modernos en Leipzig
- 2025-02-19 - 2025-02-20 | Londres, Reino Unido | Nación Rust Reino Unido
América del Norte
- 2025-01-22 | Austin, TX, Estados Unidos | Rust ATX
- 23/01/2025 | Mountain View, CA, EE. UU. | Hacker Dojo
- 28/01/2025 | Boulder, CO, EE. UU. | Encuentro de Boulder Rust
- 06/02/2025 | Vista a la Montaña, CA, EE. UU. | Hacker Dojo
- 06/02/2025 | Saint Louis, MO, EE. UU. | STL Rust
- 2025-02-11 | Minneapolis, MN, Estados Unidos | Reunión de Rust en Minneapolis
- 18/02/2025 | San Francisco, CA, EE. UU. | Grupo de Estudio de Rust en San Francisco
Oceanía
- 04/02/2025 | Auckland, Nueva Zelanda | Rust AKL
Si estás organizando un evento de Rust, agrégalo al calendario para que se mencione aquí. Por favor, recuerda agregar un enlace al evento también. Envía un correo electrónico para solicitar acceso.
Empleos
Por favor, consulte el último hilo en Quién está contratando en r/rust
Fras e la semana
Los problemas de seguridad de memoria significan que ya no puede confiar en lo que ves en tu código fuente.
– Alguien en Antítesis en el blog de la lanzadera
¡Gracias a scottmcm por la sugerencia!
¡Por favor, envíe su citas 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 correo electrónico está patrocinado por The Rust Foundation