Esta semana en Rust #2
¡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.
- Anuncio de EtherCrab, una implementación de Rust del protocolo de automatización industrial EtherCAT
- registro de cambios de rust-analyzer #203
- ¿Por qué Rust asíncrono?
- Compile Times and Code Graphs
- Containerizar aplicaciones de Rust en Ubuntu y Alpine, con GitHub Actions
- Un nivel de tipo contiene una operación para una lista heterogénea que utiliza tipos asociados
- Uso de GraphQL en Rust
- Escribir analizadores sintácticos en Winnow
- Yuga: Detección automática de errores de anotación de por vida en el lenguaje Rust
- Análisis rápido de todo el programa basado en resúmenes para identificar accesos inseguros a la memoria en Rust
- Reflexiones de Eurorust
- Reflexiones de EuroRust 2023: ¿Para qué sirve una conferencia?
- [audio] RustShip: Graphite - Gráficos Rasterizados y Vectoriales en Rust
El crate de esta semana es rinf, una biblioteca para escribir Rust en Flutter.
¡Gracias a Kim Dong-Hyun por la autosugerencia!
[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) - [OpenNode] Conversión de unidades monetarias
- Hyperswitch (Hacktoberfest) - [Stax] Conversión de unidades monetarias
- Hyperswitch (Hacktoberfest) - [ACI] Conversión de unidades monetarias
- Ockam - Hacer que 'ockam space show' (sin argumentos) sea interactivo pidiendo al usuario que elija de una lista de nombres de espacios para mostrar (tuify)
- Ockam - Mejorar el texto 'ockam tcp-inlet delete --help' (comando 'clap')
- Ockam - Inscribir "correo electrónico: no se permite el carácter '+'"
Si eres propietario de un proyecto de Rust y estás buscando colaboradores, envía tareas aquí.
Se presentaron 409 solicitudes de incorporación de cambios [fusionadas en la última semana][fusionadas]
- 'const_eval': permite firmas de puntero de función que contengan &mut T en contextos const
- Limpiezas 'rustc_hir_pretty'
- añadir la devolución de llamada 'Config::hash_untracked_state'
- agregue la extensión V (vector) a la especificación de destino riscv64-linux-android
- también considere call y yield como MIR SSA
- ampliar las consecuencias de la inicialización recursiva de TLS
- limpiar 'rustc_features' un poco más
- calcular los ámbitos de préstamo de NLL utilizando el modelo de Polonio
- const-eval: permitir llamar a funciones con características targat deshabilitadas en tiempo de compilación en WASM
- const-eval: hacer que la desalineación sea un error grave
- Cobertura: Separe la extracción inicial del intervalo del procesamiento del intervalo
- Detectar cierre de estilo rubí en el analizador
- No comprobar si hay predicados imposibles en const-prop lint
- no haga UB en la deref ptr colgante, en su lugar verifique los entrantes en las proyecciones
- exhaustividad: reelaboración de la división del constructor
- Manejar explícitamente la fuga de rasgos automáticos en coherencia
- arreglar el estado de salida / estado de espera en plataformas 'cfg(unix)' que no sean Unix
- Corregir la comprobación de desbordamiento en los patrones de rango
- manejar varios atributos '#[diagnostic::on_unimplemented]' correctamente
- implementar la opción de exclusión de '-Clink-self-contained=-linker'
- Mejorar el diagnóstico de check-cfg
- Mejorar el manejo de errores de aserción con condiciones muy largas
- en smir use 'FxIndexMap' para almacenar identificadores indexados
- enlazador: también pasa los indicadores de compresión debuginfo
- hacer que las revisiones de "solicitar cambios" se apliquen 'S-waiting-on-author'
- en caso de error de tipo que implique el cierre, evite ICE
- en el error de tipo del argumento de llamada de cierre, apunte a llamadas anteriores que afectaron a la inferencia
- opt-dist: deshabilitar características no utilizadas para crates en mesa
- Pasar las marcas de corrección de compatibilidad de rustc usando la variable de entorno
- evitar más pelusas de patrón inalcanzables espurias
- evitar que se muestren métodos de impls generales de rasgos extranjeros no disponibles para que aparezcan en los resultados de búsqueda
- evitar pelusas espurias de 'patrón inalcanzable'
- relacionar alias ty con varianza
- eliminar 'DefiningAnchor::Bubble' de la comprobación de wf opaco
- muestra el discriminante 'enum' si se usa un repr compatible
- estabilizar 'async fn' y return-position 'impl Trait' en trait
- normalizar estructuralmente para el cierre
- sugiera agregar 'return' si el para semi que puede coaccionar al tipo de retorno fn
- sugerir el bloque de etiquetado si 'break' está en el bloque desnudo
- sugerir límites de rasgos para el tipo asociado utilizado en el parámetro de tipo
- soporte AIX en la biblioteca estándar de Rust
- use 'PatKind::Error' cuando un valor const de ADT tenga violación
- use la variable env para controlar los identificadores de subprocesos en 'rustc_log'
- agregar la capacidad de obtener líneas/nombre de archivo para Span en smir
- miri: implementa los intrínsecos 'llvm.x86.sse41.*'
- miri: hacer que la generación de NaN no sea determinista
- copiar matrices de 1 elemento como escalares, no vectores
- optimizar 'librustc_driver.so' con BOLT
- optimizar el archivo leído en 'Config::verify'
- optimizar la compresión sobre los iteradores de matriz
- estabilizar 'atomic_from_ptr'
- estabilizar 'const_maybe_uninit_assume_init_read'
- stabilize '{IpAddr, Ipv6Addr}::to_canonical'
- impl Not, Bit{And,Or}{,Assign} para direcciones IP
- impl Default for ExitCode
- añadir invariante a 'Vec::p op' que lleva la tapa '<' si aparece correctamente
- implementar 'BufRead' para 'VecDeque