Esta semana en Rust #11
¡Hola y bienvenidos a otro número de This Week in Rust!
Rust
¿Quieres que se mencione algo? Etiquétanos en @ThisWeekInRust en Twitter o @ThisWeekinRust en mastodon.social, o envíanos una solicitud de extracción
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
envíe un PR.
- Blog: Lanzamiento de la Encuesta sobre el estado de la roya 2023 | Enlace directo a la encuesta
- Convocatoria de propuestas para la edición de Rust 2024
- ratatui: una librería de Rust para cocinar interfaces de usuario de terminal - v0.25.0
- Presentamos a Gooey: Mi opinión sobre un marco de interfaz gráfica de usuario oxidado
- Dos nuevas cajas de Rust de código abierto facilitan la gestión de políticas de cedro
- Presentación de FireDBG - un depurador visual de viajes en el tiempo para Rust
- Fornjot 0.48.0 - kernel CAD b-rep de código abierto escrito en Rust
- Comprometerse con Rust para el código del kernel
- Una implementación de Rust de Binder de Android
- Prevención de violaciones del contexto atómico en el código de Rust con klint
- Rust para Linux — en el espacio
- La roya está creciendo
- Un problema de por vida curiosamente recurrente
- La madriguera del conejo de los inseguros insectos de Rust
- Cadenas de herramientas de Rust más rápidas para Android
- Los errores más comunes del compilador de Rust que se encuentran en RustRover: Parte 1
- Nueve reglas para la aceleración SIMD de su código Rust (Parte 2): Lecciones generales de aumentar la ingesta de datos en la caja range-set-fire en 7x
- Lo que aprendí haciendo un controlador de hal incrustado en Rust (para el digitalizador de termopar MAX6675)
- Rust: Rasgos
- Escribir una VPN de juguete en Rust
- Primeros pasos con Actix Web en Rust
- Primeros pasos con Rocket en Rust
- Tipos genéricos para parámetros de función en Rust 🦀
- Benchmarking Rust Compiler Settings with Criterion: Controlling Criterion with Scripts and Environment Variables
- [series] Multithreading and Memory-Mapping: Refining ANN Performance with Arroy
- [series] Introducción a la creación de una aplicación web en Rust por parte de Tiny HTTP
- Educación sobre el Rust incrustado: reflexiones y visiones de 2023
- Argumentos predeterminados para funciones en Rust usando macros
- [audio] Rust in Production Ep 1 - InfluxData's Paul Dix
- [audio] Episodio 160: Rust y seguridad en Adobe con Sean Parent
El crate de esta semana es constcat, un reemplazo de 'std::concat!', con soporte para variables y expresiones const.
¡Gracias a Ross MacArthur por la autosugestión!
[Por favor, envíen sus sugerencias y votos para la próxima semana] submit_crate!
Algunas de estas tareas también pueden tener mentores disponibles, visite la página de tareas para obtener más información.
- Ockam - Corregir advertencias de documentación
- Ockam - Biblioteca - Validar estructuras CBOR de acuerdo con el esquema cddl para 'nodos/models/secure_channel'
- Ockam - Implementar eventos en 'SqlxDatabase'
- Hyperswitch - [REFACTOR]: [Nuvei] Validación de metadatos MCA
- Hyperswitch - [CARACTERÍSTICA] : [Mediodía] Sincronización con Hyperswitch Reference
- Hyperswitch - [CARACTERÍSTICA]: [Zen] Sincronización con Hyperswitch Reference
- Hyperswitch - [REFACTOR] : [Authorizedotnet] Sync with Hyperswitch Reference
Si eres propietario de un proyecto de Rust y estás buscando colaboradores, envía tareas aquí.
386 solicitudes de extracción fueron [fusionadas en la última semana][fusionadas]
- habilitar sondas de pila en aarch64 para LLVM 18
- Se ha añadido un nuevo objetivo aarch64-apple-watchos de nivel 3
- añadir soporte hexagonal
- añadir el intervalo del cuerpo de la función a StableMIR
- permitir rasgos 'async_fn_in_trait' con la variante de envío
- cherry-pick "M68k: Fix ODR violation in GISel code (#72797)"
- AIX: corregir metadatos XCOFF
- '-Ztrait-solver=next' a '-Znext-solver'
- analizar correctamente los bloques de generación asíncronos
- añadir un método a StableMIR para comprobar si un tipo es un CStr
- añadir más sugerencias a nombres y valores inesperados de cfg
- añadir soporte para '--env' en 'tracked_env::var'
- add unstable '-Zdefault-hidden-visibility' cmdline flag for 'rustc'
- anotar razones de pánico durante el diseño de enumeración
- intento de resolver problemas de bloqueo (RFC #3086)
- evitar el desbordamiento en la indexación de constantes GVN
- cache param env canonicalization
- marque correctamente los rasgos fn incorporados 'FnPtr'/'FnDef' con efectos
- comprobar los parámetros genéricos después de la Sigatura para main-fn-ty
- recolectar elementos de idioma de AST, deshacerse de 'GenericBound::LangItemTrait'
- los campos de variantes de corrutina se pueden desinicializar
- cobertura: omitir la instrumentación de una función si no se extrajeron intervalos de MIR
- denegar los límites del rasgo '~const' en los encabezados impl inherentes
- desazucarar 'yield' en 'async gen' correctamente, asegurarse de que 'gen' siempre devuelva la unidad
- No fusionar los atributos cfg y doc(cfg) para reexportaciones
- borrar las regiones enlazadas en tiempo de ejecución de 'Instance::fn_sig()' y añadir algunos detalles más a las API de StableMIR
- arreglar ICE 'ProjectionTypes Deref y Field no coincidían'
- arreglar las banderas de subprocesos LLD en el arranque en Windows
- Corregir el número de problema de seguimiento 'waker_getters'
- arreglar la alineación pasada a LLVM para 'simd_masked_load'
- Se corrigió el tamaño dinámico/alinear la lógica de cálculo para tipos empaquetados con cola de rasgo Dyn
- Se corrigen los intervalos superpuestos en las meta-vars delimitadas
- ICE 110453: corregido con errores
- llvm-wrapper: adaptarse a los cambios de la API de LLVM
- convertir 'IMPLIED_BOUNDS_ENTAILMENT' en un error grave de una pelusa
- hacer que la exhaustividad sea utilizable fuera de rustc
- Reducción de partidos: Eliminar el truco 'make_target_blocks'
- Más expresiones correctamente están marcadas para terminar con llaves
- empujar al usuario a matar programas usando CPU excesiva
- resolver de forma oportunista la variable de la región en canonicalizer (en lugar de resolver la variable raíz)
- rechazar correctamente 'default' en elementos const libres
- eliminar la constancia innecesaria de ProjectionCandidate
- reemplace algunas instancias de 'FxHashMap'/'FxHashSet' con alternativas estables (principalmente en 'rustc_hir' y 'rustc_ast_lowering')
- Resolver: reemplazar la tabla de visibilidad en las salidas de resolución con alimentación de consultas
- omitir el comprobador de restricciones de RPIT si se produce un error de tipo de retorno de Borrowck
- Alguna limpieza y mejora para la impl de conversión de referencias no válidas
- Ajustar 'short_ty_string' para reducir el número de archivos
- registrar incondicionalmente alias-relate en el objetivo de la proyección
- actualizar la imagen CI de FreeBSD
- aumentar 'TypeAndMut' y 'ClosureKind' a 'rustc_type_ir'
- use 'if cfg!' en lugar de '#[cfg]'
- use la opción LLVM NoTrapAfterNoreturn
- miri: visita los AllocIds y BorTags en estado de préstamo FrameExtra
- Miri Run: por defecto a la edición 2021
- Miri: Hacer que mmap no use exponer semántica
- ruta rápida para 'declared_generic_bounds_from_env'
- estabilizar 'type_name_of_val'
- estabilizar 'ptr::{from_ref, from_mut}'
- añadir 'core::intrinsics::simd'
- [Agregue un número de columna a 'dbg! ()»(https://github.com/rust-lang/rust/pull/114962)
- añadir más nichos a 'rawvec'
- añadir funciones de recorte de espacios en blanco ASCII a '&str'
- Se corrigieron los casos en los que STD se basaba accidentalmente en Inline(Never)
- Windows: permitir que 'File::create' funcione en archivos ocultos
- std: añadir xcoff en la lista de características del objeto
- codegen: pánico al intentar calcular el tamaño/alineación del tipo externo
- codegen_gcc: simd: implementa los intrínsecos faltantes de simd/generic-arithmetic-pass.rs
- codegen_llvm: establece 'DW_AT_accessibility'
- Cargo: Limpiar los metadatos del paquete
- cargo: no permitir nombre vacío en la especificación de identificación del paquete
- cargo: rellena más huecos de nombre vacíos
- Carga: mantén el bloqueo exclusivo de mutar al vender
- rustdoc: use Map en lugar de Object para los archivos fuente y el índice de búsqueda
- rustdoc: permite cambiar el tamaño de la barra lateral / ocultar la barra superior
- rustdoc-search: se corrige una condición de carrera en la carga del índice de búsqueda
- rustdoc-search: use set ops para clasificar y filtrar
- bindgen: use '\r\n' en Windows
- bindgen: destructores que funcionan mejor en Windows
- clippy: añadir nueva pelusa 'unconditional_recursion'
- clippy: new Lint: 'result_filter_map' / Mirror of 'option_filter_map'
- clippy: no visites cuerpos anidados en 'is_const_evaluatable'
- clippy: 'redundant_pattern_matching': lint 'if let true', 'while let true', 'matches! (.., verdadero)'
- clippy: no peluar 'assertions_on_constants' por 'const _: () = assert! (expr)»
- clippy: 'doc_markdown' Reconoce palabras seguidas de paréntesis vacíos '()' para citar
- clippy: arreglar el manejo de la carpeta en 'unnecessary_to_owned'
- rust-analyzer: deduplicar anotaciones
- rust-analyzer: optimizando el rendimiento con 'Promise.all' 🏎
- Rust-Analyzer: Desugar Doc correctamente para MBE
- rust-analyzer: no asumas ASCII en 'remove_markdown'
- rust-analyzer: resolver alias antes de resolver la variante de enumeración
- Rust-Analyzer: Agregue soporte mínimo para la edición 2024
- rust-analyzer: mover 'WithFixture' a la caja solo dev-dep
- Rust-analyzer: Corregir la discordancia de tipo falso positivo en los patrones de referencia const
- rust-analyzer: la corrección de sintaxis ahora elimina los subárboles con intervalos falsos
- Rust-analyzer: Actualizar los attrs incorporados de rustc
- rust-analyzer: arreglar el analizador de fragmentos que reemplaza las coincidencias con dummies en análisis incompletos
- rust-analyzer: se corrige el reemplazo incorrecto de referencias en la invocación de macros en la asistencia "Convertir a estructura con nombre"
Triaje realizado por @pnkfelix
57010939..bf9229a2
Los cambios en Rust siguen el proceso de Rust RFC (solicitud de comentarios)
- Esta semana no se aprobaron RFC.
Cada semana, el equipo
- [disposición: posponer] RFC: Precise Pre-release Deps
- [disposición: fusionar] Admite llamadas recursivas asíncronas (siempre que tengan direccionamiento indirecto)
- [Disposición: Fusionar] Hacer que soft_unstable aparezcan en futuros informes de roturas
- [disposición: fusionar] Problema de seguimiento para ip_in_core
- Ninguna RFC de referencia lingüística entró en el Período Final de Comentarios esta semana.
- Ninguna RFC de la Guía de Código Inseguro entró en el Período Final de Comentarios esta semana.
Las RFC se beneficiarían de las pruebas de usuario antes de seguir adelante:
- Ninguna RFC emitió una convocatoria para pruebas esta semana.
necesitan pruebas.
Eventos oxidados entre 2023-12-20 - 2024-01-17 🦀
- 20/12/2023 | Virtual (Vancouver, Columbia Británica, CA) | Rust de Vancouver
- 26/12/2023 | Virtual (Dallas, TX, EE. UU.) | Rust de Dallas
- 28/12/2023 | Virtual (Charlottesville, Carolina del Norte, EE. UU.) | Reunión de Charlottesville Rust
- 03/01/2024 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
- 09/01/2024 | Virtual (Dallas, TX, EE. UU.) | Rust de Dallas
- 11/01/2024 | Virtual (Charlottesville, Carolina del Norte, EE. UU.) | Reunión de Charlottesville Rust
- 16/01/2024 | Virtual (Washington, DC, EE. UU.) | Rust DC
- 27/12/2023 | Copenhague, Dinamarca | Comunidad de Rust de Copenhague
- 28/12/2023 | Viena, AT | Rust Viena
- 11/01/2024 | Reading, Reino Unido | Taller de lectura de Rust
- 11/01/2024 | Wrocław, PL | Rust de Breslavia
- 13/01/2024 | Helsinki, FI | Grupo Rust-lang de Finlandia
- 20/12/2023 | Austin, TX, EE. UU. | Rust ATX
- 27/12/2023 | Austin, TX, EE. UU. | Rust ATX
- 06/01/2024 | Boston, MA, EE. UU. | Reunión de Boston Rust
- 08/01/2024 | Chicago, IL, EE. UU. | Rust de plato profundo
- 09/01/2024 | Seattle, WA, EE. UU. | Cap Hill Rust Codificación/Hackeo/Aprendizaje
- 09/01/2024 | Minneapolis, MN, EE. UU. | Reunión de Rust en Minneapolis
- 14/01/2024 | Cambridge, MA, EE. UU. | Reunión de Boston Rust
- 16/01/2024 | San Francisco, CA, EE. UU. | Grupo de Estudio de la Roya de San Francisco
- 17/01/2024 | Chicago, IL, EE. UU. | Rust de plato profundo
Si está ejecutando un evento de Rust, agréguelo al calendario
Envíe un correo electrónico al [Equipo de la comunidad de Rust] comunidad para acceder.
Por favor, vea el último hilo de Quién está contratando en r/rust
El satélite Tianyi-33 es un satélite experimental de ciencia espacial de 50 kg equipado con un sistema operativo desarrollado de forma independiente por la Universidad de Correos y Telecomunicaciones de Pekín: el sistema operativo en tiempo real de doble kernel basado en Rust RROS. RROS llevará a cabo tareas generales representadas por tensorflow/k8s y tareas en tiempo real representadas por sistemas de archivos en tiempo real y transmisión de red en tiempo real en el satélite. Garantizará la ejecución normal de las aplicaciones de capa superior y las tareas de investigación científica, como la medición del retardo de tiempo entre el satélite y la tierra, la transmisión de vídeo en directo, los servicios de chat web a bordo, los experimentos pseudo-SSH, etc. Esto marca la primera aplicación oficial del mundo de un sistema operativo de doble kernel escrito por Rust en un escenario satelital.
– Qichen en la página web de RROS
¡Gracias a Brian Kung 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, andrewpollack, U007D, kolharsam, joelmarcey, mariannegoldin, bennyvasquez.
El alojamiento de la lista de correo electrónico está patrocinado por The Rust Foundation