Esta semana en Rust #8
¡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.
- Anunciando axum 0.7.0
- Anuncio de la disponibilidad general del SDK de AWS para Rust
- ripgrep 14.0.0
- Multithreading mejorado en wgpu - La arcanización aterriza en el tronco
- Presentamos SALT: ¡Un tutor de errores de Rust, buscando participantes en un estudio de errores!
- Bionic GPT - Reemplazo de Chat GPT integrado en Rust
- cargo-run-bin: ¿Por qué todo el mundo instala cajas en todo el mundo?
- CXX-Qt: En el camino hacia la estabilidad, soporte de señales mejorado y más en la versión 0.6
- Oatmeal: Terminal UI para chatear con grandes modelos de lenguaje (LLM) utilizando diferentes backends de modelos, e integraciones con tus editores favoritos!
- Objetivos del proyecto
- poll_next
- [video] Pero, ¿qué es 'toda una vida?'
- [audio] Reclutamiento en Rust con Cedric Sellmann
- Diseño de un algoritmo SIMD desde cero
- Por qué las enumeraciones en Rust se sienten mucho mejor
- Cómo uso macros declarativas en Rust
- Embajada en ESP: Primeros pasos
- Introducción a LLVM y MLIR con Rust y Melior
- Investigando tiempos de compilación locos
- [video] Curso de Rust (Parte 2) (Bahasa Indonesia).
- Pruebas de refinamiento en Rust usando cerraduras fantasmas
- Fuzzing semántico del compilador e intérprete de Rust
El crate de esta semana es tokio-graceful, una biblioteca para el apagado correcto de servidores asíncronos basados en tokio.
¡Gracias a Glen De Cauwsemaecker 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 - [REFACTOR]: [Nuvei] Validación de metadatos MCA
- Hyperswitch - [Características]: [Mediodía] Sincronización con Hyperswitch Reference
- Hyperswitch - [Características]: [Payme] Sync with Hyperswitch Reference
- Hyperswitch - [BUG]: Los errores de deserialización de metadatos MCA deben ser 4xx
- Hyperswitch - [REFACTOR]: Mensaje de error [Stripe] para la implementación del conector
- Ockam - Biblioteca - Adelgazar el 'NodeManagerWorker' para 'nodo / estado del nodo'
- Ockam - Comando - refactorizar para usar interfaces con tipo para implementar comandos para 'servicios de kafka'
- Ockam - Biblioteca - Validar estructuras CBOR de acuerdo con el esquema cddl para 'nodos/models/transport' y 'nodes/models/workers'
- r3bl-open-core - [tuify] API cambia el tipo de retorno de 'select_from_list()' 3
- r3bl-open-core - Mejorar la plantilla de problema de "Informe de errores"
Si eres propietario de un proyecto de Rust y estás buscando colaboradores, envía tareas aquí.
405 solicitudes de extracción fueron [fusionadas en la última semana][fusionadas]
- estabilizar la coerción de conversión de dyn (RFC #3324)
- añadir una puerta de características experimental para la delegación de funciones
- habilitar Rust para usar la función de seguridad EHCont de Windows
- Habilitar perfilador en dist-powerpc64-linux
- habilitar la mitigación de erratas de Arm Cortex-A53 en aarch64-unknown-none
- eliminar el objetivo ahora obsoleto 'x86_64-sun-solaris'
- 'EvalCtxt::commit_if_ok' no hereda objetivos anidados
- 'intercrate_ambiguity_causes': handle self ty infer + reservation impls
- añadir 'Span' a 'TraitBoundModifier'
- añadir 'debug_assert_nounwind' y convertir 'assert_unsafe_precondition'
- agregar lint de permiso por defecto para los enlaces de unidades
- permitir definir opacos en 'check_coroutine_obligations'
- llamar a 'FileEncoder::finish' en la codificación rmeta
- cobertura: simplificar las expresiones de cobertura de edificios basadas en sumas
- No borrar las regiones enlazadas en tiempo de ejecución al seleccionar tipos asociados inherentes
- no ice cuando se encuentre ambigüedad al seleccionar la implementación de 'Índice' en typeck
- no ice ICE cuando encuentre marcadores de posición en el cálculo de límites implícitos
- no consideres los argumentos genéricos de supertrait en 'deref_into_dyn_supertrait' lint
- no requiere el modo de caja para la coherencia negativa
- Cómputo ansiosamente 'output_filenames'
- arreglar la vida útil de los parámetros tempranos en 'generic_const_exprs'
- corrige que la visualización del recuento de errores es diferente cuando solo queda un error
- [Mejorar la ayuda de solo herramientas para múltiples variantes '#[predeterminado]']](https://github.com/rust-lang/rust/pull/118131)
- hacer que PlaceholderReplacer 'shallow_resolver' y se repita cuando se infieran vars
- Nota sobre los valores predeterminados de duración del objeto en el error no vive lo suficiente
- Imprimir mapa de consulta para el interbloqueo cuando se usa el front-end paralelo
- relacionar los tipos asociados inherentes usando la eq
- eliminar '--check-cfg' comprobación de la línea de comandos '--cfg' args
- eliminar 'HirId' de 'QPath::LangItem'
- separar los flotantes 'NaN'/'Inf' con '_'
- sugerir cambiar el orden de 'ref' y 'box'
- el ITB no ajustado necesita pasar agregados por valor
- Ajustar los atributos de enlace para los enlaces LLVM-wrapper
- typeck break expr incluso si break es ilegal
- use una ruta absoluta al dispositivo NUL
- cuando no se puede importar 'core', sugiera 'std'
- añadir 'VarDebugInfo' a la MIR estable
- Agregar soporte para la asignación global en SMIR
- arreglar la bonita impresión de 'Ty::Ref' de smir
- expandir el GC BorTag de Miri a un GC de procedencia
- validar que no hay bordes de llamada críticos en MIR optimizado
- miri: GC el 'dead_alloc_map' también
- miri: compruebe que las características de destino requeridas por los intrínsecos de LLVM están habilitadas
- Miri: refactorizar 'float_to_int_checked' para eliminar su parámetro genérico y reducir un poco la duplicación de código
- caché para 'ty::Const'
- indica que la multiplicación en 'Layout::array' no puede desbordarse
- reescribir la exhaustividad en una sola pasada
- 'AmbiguityCause' no debería formatear ansiosamente las cadenas
- especialice 'SpecFromElem' para '()'
- refactorizar 'binary_search_by' para usar movimientos condicionales
- estabilizar 'ptr::addr_eq'
- add 'BufRead::skip_until'
- kmc-solid: seguridad de E/S
- añadir 'Duración::abs_diff'
- operaciones de conveniencia no nulas
- hashbrown: Especializarse en la implementación de 'plegado' de iteradores
- Elevador de grúa: implemente otro lote de intrínsecos del proveedor
- cargo: 'refactor(toml)': Mejores detalles de herencia abstracta
- cargo: salió con un error grave cuando el archivo de compilación personalizado no existe o no está en el paquete
- carga: añadir 'CARGO_RUSTC_CURRENT_DIR' (inestable)
- cargo: use custom error en lugar de anyhow
- Cargo: Revisar y eliminar las pruebas ignoradas en RustFix
- cargo: intente ejecutarlo en Windows
- rustdoc-search: añadir soporte para rasgos y tipos asociados
- rustdoc-search: evitar la unboxing de la cláusula where infinita
- rustdoc-search: simplifica 'checkPath' y 'sortResults'
- rustdoc: ordenar los elementos inestables al final en lugar del primero
- rustfix: añadir aviso de que rustfix se ha movido
- clippy: 'TypeckResults::node_type()' se puede usar dentro de los cuerpos
- clippy: 'deprecated_semver': Permitir '#[deprecated(since = "TBD")]'
- clippy: 'manual_try_fold': comprueba que 'fold' es realmente 'Iterator::fold'
- clippy: 'missing_asserts_for_indexing': trabaja con cuerpos en lugar de bloques por separado
- clippy: 'needless_return_with_question_mark': no peluar si nunca se usa el tipo para coerción
- clippy: 'ptr_arg': reconoce métodos que también existen en los sectores
- clippy: añadir nueva configuración 'check_private_items'
- clippy: crear nueva pelusa 'option_map_or_err_ok'
- clippy: no sugiera 'a.mul_add(b, c)' si los parámetros no son float
- clippy: extiende 'result_map_or_into_option' lint para manejar 'Result::map_or_else(|_| Ninguno, algunos)'
- clippy: se corrige el comportamiento de 'box_default' con 'vec! []' proveniente de macro arg
- clippy: corrige la sugerencia de 'iter_kv_map' falsos positivos 'into_keys' y 'into_values'
- clippy: mejorar el formato de los mensajes de error
- clippy: eliminar la comprobación de guiones bajos para 'manual_non_exhaustive' lint
- clippy: sugerir alternativas para iterar una matriz de rangos
- clippy: usa la ruta absoluta para 'declare_tool_lint' en 'declare_clippy_lint'
- rust-analyzer: inicialización cancelable
- Rust-analyzer: editor/código: añadir opción para suprimir las notificaciones de error internas
- rust-analyzer: asegúrese de que los cambios de nombre ocurran después de la edición
- Rust-analyzer: Arreglar la resolución de variantes para el alias de tipo
- rust-analyzer: corrección: agregar respaldo para los detalles de la etiqueta de finalización
- Rust-analyzer: corrección: resolver mejor el elemento de asociación con el tipo vinculado
- rust-analyzer: corrección: cajas duplicadas desduplicadas con diferentes orígenes en la construcción de CrateGraph
- Rust-analyzer: corrección: eliminar el paréntesis debe garantizar el espacio
- Rust-Analyzer: Mejorar la visualización de los detalles de la etiqueta de finalización
- rust-analyzer: reemplace 'option.map(cond) == Some(true)' por 'option.is_some_and(cond)'
resolución (PR #118188) y una reescritura de una sola pasada de exhaustividad (PR #117611).
Triaje realizado por @pnkfelix
4f3da903.. DF0295F0
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: fusionar] Política de edición de especificadores de fragmentos de macros
- [disposición: fusionar] [rustdoc] Añadir resaltado para comentarios en la declaración de elementos
- [Disposición: Fusionar] Generalizar: el identificador produce un error de comprobación en los alias
- 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-11-29 - 2023-12-27 🦀
- 29/11/2023 | Virtual (Cardiff, Reino Unido) | Rust y C++ Cardiff
- 30/11/2023 | Virtual (Charlottesville, Carolina del Norte, EE. UU.) | Reunión de Charlottesville Rust
- 30/11/2023 | Virtual (Dublín, IE) | Rust Dublín
- 01/12/2023 | Virtual (Cardiff, Reino Unido) | Rust y C++ Cardiff
- 02/12/2023 | Virtual (Kampala, UG) | Círculo de Rust Kampala
- 05/12/2023 | Virtual (Berlín, DE) | OpenTechSchool Berlín
- 05/12/2023 | Virtual (Búfalo, NY, EE. UU.) | Encuentro de Buffalo Rust
- 06/12/2023 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
- 10/12/2023 | Virtual (Cardiff, Reino Unido) | Rust y C++ Cardiff
- 12/12/2023 | Virtual | Materia principal
- 12/12/2023 | Virtual (Dallas, TX, EE. UU.) | Rust de Dallas
- 2023-12-14| Virtual (Charlottesville, Carolina del Norte, EE. UU.) | Reunión de Charlottesville Rust
- 14/12/2023 | Virtual (Núremberg, DE) | Rust Nuremberg
- 17/12/2023 | Virtual (Tel Aviv, IL) | Expertos en código
- 18/12/2023 | Virtual (Múnich, DE) | Rust Múnich
- 19/12/2023 | Virtual (Berlín, DE) | OpenTechSchool Berlín
- 20/12/2023 | Virtual (Vancouver, Columbia Británica, CA) | Rust de Vancouver
- 16/12/2023 | Delhi, IN | Rust Delhi
- 30/11/2023 | Bruselas, BE | Lambda Bruselas
- 30/11/2023 | Copenhague, Dinamarca | Comunidad de Rust de Copenhague
- 30/11/2023 | Viena, AT | Rust Viena
- 30/11/2023 | Zúrich, CH | Rust Zúrich
- 06/12/2023 | Colonia, DE | Colonia Rust
- 07/12/2023 | Aarhus, Dinamarca | Rust Aarhus
- 07/12/2023 | Lille, FR | Rust Lille
- 14/12/2023 | Augsburgo, DE | Rust - Programación de sistemas modernos en Leipzig
- 18/12/2023 | Múnich, DE + Virtual | Rust Múnich
- 19/12/2023 | Heidelberg, DE | Elimina tus insectos y oxida tus motores
- 19/12/2023 | Leipzig, DE | Rust - Programación de sistemas modernos en Leipzig
- 29/11/2023 | Chicago, Illinois, Estados Unidos | Rust de plato profundo
- 30/11/2023 | Mountain View, CA, EE. UU. | Reunión de Rust de Mountain View
- 07/12/2023 | Seattle, WA, EE. UU. | Grupo de usuarios de Seattle Rust
- 12/12/2023 | Seattle, WA, EE. UU. | Cap Hill Rust Codificación/Hackeo/Aprendizaje
- 12/12/2023 | Nueva York, NY, EE. UU. | Rust de Nueva York
- 19/12/2023 | San Francisco, CA, EE. UU. | Grupo de Estudio de la Roya de San Francisco
- 28/11/2023 | Canberra, ACT, AU | Rust Canberra
- 05/12/2023 | Aukland, Nueva Zelanda | Rust AKL
- 11/12/2023 | Perth, WA, AU | Grupo de Meetup de Rust Perth
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 Who's Hiring en r/rust
Me gustaría informar que los tiempos de compilación de Rust estuvieron bien hoy, ayer y anteayer.
los mantendré informados.
– ZiCog sobre los lentos tiempos de compilación de Rust en los usuarios de Rust
¡Gracias a Michael Bryan 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