Esta semana en Rust #3
¡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.
- [Tratando de inventar un mejor algoritmo de búsqueda de subcadenas](https://marcos.unsafe.rs/trying-para-inventar-un-mejor-algoritmo de búsqueda de subcadenas/)
- Mejorando Node.js con la biblioteca Rust-Wasm
- Mezcla de C# y Rust - Interoperabilidad
- Una nueva mirada a la serialización incremental de cero copias
- Haz que el compilador de Rust sea un 5% más rápido con este extraño truco
- Parte 3: Remo de botes de tipo de datos a flote
- Recreación de combinadores de futuros concurrentes en smol
- Desempaquetando algunas ergonomías de Rust: obteniendo un solo resultado de un iterador de ellas
- Idea: "Usando Rust", un documento vivo
- La sopa de objetos está hecha de índices
- Análisis de datos 180.000 veces más rápido con Rust
- Issue #10: Serving HTML
- Rust vs C en un ATTiny85; una historia de guerra incrustada
- Análisis de datos /,000 veces más rápido con Rust
- Lanzamientos totalmente automatizados para proyectos de Rust
- Haga que su unidad de código de Rust sea comprobable con inversión de dependencias
- Nueve reglas para validar formalmente los algoritmos de Rust con Dafny (Parte 2): Lecciones de la verificación de la caja range-set-fire
- [video] Vamos a escribir un corredor de mensajes usando QUIC - Broke But Quick Episode 1
- [video] Publicación de mensajes a través de QUIC Streams! - Broke But Quick episodio 2
- [video] Tipos asociados en los límites del iterador
- [video] Rust y la era de las lenguas de alta integridad
- [video] Implementando (parte de) un cliente BitTorrent en Rust
El crate de esta semana es cargo-show-asm, un subcomando de carga para mostrar el ensamblaje optimizado de cualquier función.
¡Gracias a Kornel por la sugerencia!
[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.
- Hyperswitch (Hacktoberfest)- [CARACTERÍSTICA] separar payments_session del núcleo de pagos
- Hyperswitch (Hacktoberfest)- [NMI] Usar connector_response_reference_id como referencia al comerciante
- Hyperswitch (Hacktoberfest)- [Airwallex] Usar connector_response_reference_id como referencia al comerciante
- Hyperswitch (Hacktoberfest)- [Worldline] Usar connector_response_reference_id como referencia al comerciante
- Ockam - Hacer que 'ockam project delete' (sin argumentos) sea interactivo pidiendo al usuario que elija de una lista de nombres de espacios y proyectos para eliminar (tuify)
- Ockam - Validar estructuras CBOR de acuerdo con el esquema cddl para 'authenticator/direct/types'
- Ockam - Adelgazar el 'NodeManagerWorker' para 'nodo / estado del nodo'
Si eres propietario de un proyecto de Rust y estás buscando colaboradores, envía tareas aquí.
397 solicitudes de extracción fueron [fusionadas en la última semana][fusionadas]
- Reescribir el registro de la impresora bonita de GDB
- añadir anotaciones de FileCheck a las pruebas mir-opt
- añadir MonoItems e Instancia a 'stable_mir'
- añadir un objetivo 'csky-unknown-linux-gnuabiv2hf'
- Agregue una prueba que muestre la inferencia de firma de cierre fallida en el nuevo solucionador
- añadir una nueva sintaxis más simple y explícita para check-cfg
- añadir estable 'Instance::body()' y RustcInternal trait
- Habilitar automáticamente la inserción de cajas cruzadas para funciones pequeñas
- evite un 'track_errors' burbujeando la mayoría de los errores de 'check_well_formed'
- evite que 'rustc_smir' dependa de 'rustc_interface' o 'rustc_driver'
- Cobertura: Emitir asignaciones para funciones no utilizadas sin generar stubs
- Cobertura: Emitir la sección de nombres de archivo antes de codificar las asignaciones por función
- Cobertura: Corregir el manejo inconsistente de los intervalos de firma de la función
- cobertura: mover la mayor parte de la información de cobertura por función a 'mir::Body'
- Cobertura: simplificar la inyección de declaraciones de cobertura
- deshabilitar la pelusa 'missing_copy_implementations' en los tipos 'non_exhaustive'
- no poner en negrita el mensaje principal en '--error-format=short'
- no haga hielo cuando encuentre regiones no resueltas en 'fully_resolve'
- no comparar el parámetro de host por nombre
- no se bloquee en una coincidencia vacía en la pelusa 'nonexhaustive_omitted_patterns'
- duplicar los límites '~const' con uno que no sea const en el desazúcar de efectos
- eliminar 'rustc_attrs::builtin::handle_errors' a favor de emitir errores directamente
- Se corrigió una regresión de rendimiento en la deduplicación de obligaciones
- corregir la comprobación de vidas superactivas implícitas para GAT en RPITIT
- Se corrigieron los intervalos para eliminar '.await' en las expresiones 'for'
- Sugerencia de corrección para la función de corrutinas renombrada
- implementar una pelusa interna que fomente el uso de 'Span::eq_ctxt'
- implementar roscado de salto MIR opt
- implementar la parte rustc de las rutas de recorte RFC 3127
- Mejorar la visualización de trabajos paralelos en el script de prueba rustdoc-gui
- iniciar el uso interno de 'cfg_match' (Compilador)
- lint 'non_exhaustive_omitted_patterns' por columnas
- polonio insensible a la ubicación: considere que un préstamo se escapa si una SCC solo tiene restricciones de miembros aplicadas
- hacer que '#[repr(Rust)]' sea incompatible con otras sugerencias de representación (no modificadoras) como 'C' y 'simd'
- hacer que la ruta de exportación 'rustc_onunimplemented' sea agnóstica
- mencione 'into_iter' en las sugerencias de errores de préstamo cuando corresponda
- mencione la sintaxis de 'use' en 'mod foo;' si 'foo' no existe
- pánico cuando el asignador global intenta registrar un destructor TLS
- punto en la definición de assoc fn sobre la divergencia de parámetros de tipo
- conserva los escapes Unicode en literales de cadena de formato cuando se imprime AST
- Tener en cuenta adecuadamente la autoambiguación en la sugerencia de desambiguación de métodos
- informe 'unused_import' para reexportaciones vacías incluso si es pub
- Caso especial de la cadena de iteradores comprueba si hay sugerencias
- Procedencia estricta desenrollar
- sugerir ';' después de la expresión 'match' E0308
- sugerir restringir los tipos de asociación en más casos
- sugerir relajar el implícito 'type Assoc: Sized;' bound
- [sugiero eliminar los argumentos redundantes en 'format! ()»(https://github.com/rust-lang/rust/pull/115324)
- Eleva la movilidad y la mutabilidad, de la manera más sencilla
- miri: evite un escaneo lineal sobre todo el 'int_to_ptr_map' en cada deallocation
- [miri: se corrigió la verificación del modo de redondeo en las funciones de ronda SSE4.1](https://github.com/rust-lang / miri / pull / 3124)
- Miri: Intptrcast: Eliminar información sobre asignaciones muertas
- deshabilitar efectos en libcore de nuevo
- añadir '#[track_caller]' a 'Opción::unwrap_or_else'
- especialice 'Bytes: