Esta semana en Rust #16
¡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 Twitter o @ThisWeekinRust en mastodon.social, o envíanos una solicitud de extracción.
¿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,
envíe un PR.
Actualizaciones de la comunidad de Rust 🥰
Fundación
Actualizaciones de proyectos/herramientas
- Revisión de Ruffle 2023
- Cuatro desafíos que aún no ha abordado el control de cargas
- rustc_codegen_gcc: Informe de Progreso #29
- Hoja de ruta para el backend de Xilem en 2024
- registro de cambios de rust-analyzer #217
- pq-sys 0.5.0
- Novedades de SeaORM 0.12.x
- Rust en chips Espressif - 24 de enero de 2024
Observaciones/Pensamientos
- Hacer que los binarios de Rust sean más pequeños por defecto
- Mi mejor y peor punto muerto en Rust
- ¿Por qué SQL se cuelga exactamente durante 940s? TCP y Async Rust!
- Hacer que el Rust asíncrono sea confiable
- Identificando la pistola de fuga de memoria collect::() de Rust
- [video] La embajada ya está en crates.io
- [video] Los frameworks web full stack de Rust tienen un futuro brillante
- [video] Rust Halifax - Rust & Tell #1
- [video] Por qué Rust seguirá creciendo en 2024
Tutoriales de Rust
- Uso de 'mem::take' para reducir las asignaciones de montón
- Escribir tu propio linter de Rust
- Usando Serde en Rust
- Análisis de JSON en Rust
- Desafío de mil millones de filas: tutorial de Rust
- Embajada en ESP: Temporizadores
- Soporte de LoRa en SparkFun expLoRaBLE Thing Plus con Rust
- Cómo trabajar con ! Tipos de tamaño en Rust
- Rocket - inicio de sesión en la aplicación web
- Rocket - acceder a la configuración personalizada en las rutas
- Pruebas con tempfiles y variables de entorno
Investigación
- Perfilado del aprendizaje de lenguajes de programación
- Rust-lancet: Corrección automatizada de la violación de la regla de propiedad con preservación del comportamiento
Crate de la semana
El crate de esta semana es apistos, una herramienta de documentación de OpenAPI.
¡Gracias a Romain Lebran por la autosugerencia!
[Por favor, envíen sus sugerencias y votos para la próxima semana] submit_crate!
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 las 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.
- Ockam - Tener una sola instancia de 'SqlxDatabase' por proceso
- Ockam - Mejorar las migraciones de bases de datos para emparejar código de migración sql y rust
- Ockam - Haz que install.sh no falle durante el proceso de actualización
- Hyperswitch - [CARACTERÍSTICA]: Hacer que la configuración de caché sea configurable en tiempo de ejecución
- Hyperswitch - [CARACTERÍSTICA]: Implementar Code cov para el sistema local usando makefile
- Hyperswitch - [CARACTERÍSTICA]: Cobertura de código de configuración para pruebas locales y CI
- Hyperswitch - [CARACTERÍSTICA]: Agregar tipo de dominio para el secreto de cliente
- Hyperswitch - [FEATURE]: Tener get_required_value usar ValidationError en OptionExt
Si eres propietario de un proyecto de Rust y estás buscando colaboradores, envía tareas aquí.
CFP - Ponentes
¿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 están aceptando presentaciones para unirse a su evento como orador.
Si usted es un organizador de eventos que espera ampliar el alcance de su evento, envíe un enlace al sitio web de envío a través de un PR a TWiR.
Actualizaciones del Proyecto Rust
453 solicitudes de extracción fueron [fusionadas en la última semana][fusionadas]
- 'HashMap'/'HashSet': implementaciones 'plegadas' hacia adelante de iteradores
- 'dead_code' trata '#[repr(transparent)]' de la misma manera que '#[repr(C)]'
- 'fix(rust-analyzer)': use la nueva especificación pkgid para comparar
- 'large_assignments': Lint en argumentos grandes específicos pasados a funciones
- 'maybe_lint_impl_trait': separa 'is_downgradable' de 'is_object_safe'
- 'never_patterns': Cuenta los enlaces '!' como divergentes
- 'never_patterns': comprobación de tipos nunca patrones
- 'pat_analysis': No confíe en 'VariantId' contiguos fuera de rustc
- 'pattern_analysis': Eliminar 'Ty: Copiar' enlazado
- 'proc_macro': Añade el constructor 'Literal::c_string'
- 'single_use_lifetimes': No sugiera borrar vidas con límites
- añadir '#[track_caller]' a la implación "From implica Into"
- add 'Ipv6Addr::is_ipv4_mapped'
- añadir 'PatKind::Err' a AST/HIR
- añadir mensaje de ayuda para el error 'exclusive_range_pattern'
- añadir alias privado de tipo 'NonZero