Esta semana en Rust #23
¡Hola y bienvenidos a otro número de This Week in Rust!
Rust
¿Quieres que se mencione algo? Etiquétanos en @ThisWeekInRust en X (anteriormente 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.
- Diseño visual de aplicaciones para Rust - Rik Arends
- ThRust in Space: Initial Momentum - Michaël Melchiore
- Arco en el Kernel de Linux - Alice Ryhl
- Haciendo conexiones - Mara Bos
- Reemplazo de OpenSSL paso a paso - Joe Birr-Pixton
- Fortificación de la FFI de Rust con funciones escapaculadas - Leon Schuermann
- Educación oxidante - Henk Oordt
- Postal: Una herramienta irrazonablemente eficaz para la comunicación máquina a máquina - James Munns
- Presentación de June - Sophia Turner
- Robius: Desarrollo de aplicaciones multiplataforma inmersivas y sin fisuras en Rust - Kevin Boos
- Compresión Carcinizada: Implementando zlib en Rust - Folkert de Vries
- K23: Un sistema operativo de investigación seguro que ejecuta WASM - Jonas Kruckenberg
- Rust asíncrono en sistemas embebidos con Embassy - Dario Nieuwenhuis
- Xilem: Construyamos una interfaz de usuario de Rust de alto rendimiento - Raph Levien
- Rust envenenando mi muñeca por diversión - Ulf Lilleengen
- Teoría de tipos para ingenieros ocupados - Niko Matsakis
- Entra paradis — Un nuevo capítulo en la historia de paralelismo de Rust
- Tiny Glade, actuaciones de VJ e iluminación 2D
- Diésel 2.2.0
- Pigg 0.1.0
- ¡Lanzamiento de Git-Cliff 2.3.0! (generador de registro de cambios altamente personalizable)
- El verificador de préstamos dentro
- No te preocupes por las vidas
- Rust no tiene que ver con la seguridad de la memoria
- Sobre el uso de dependencias en Rust
- Context Managers: Undroppable Types for Free
- Rust y punteros delgados de tamaño dinámico
- Rust es para el motor, no para el juego
- [audio] Thunderbird - Brendan Abolivier, Ingeniero de Software
- Compilar con Naz : Patrón de estado de tipo de Rust
- Cómo construir un sistema de plugins en Rust
- Formando nubes
- Manejo de errores de Rust: Opción y resultado
- Construyamos un Balanceador de Carga en Rust - Parte 3
- La guía definitiva de los nuevos tipos de Rust
El crate de esta semana es layoutparser-ort, un puerto simplificado de LayoutParser para la detección de elementos de diseño de documentos basados en ML.
A pesar de que no hay sugerencias, llogiq está razonablemente contento con su elección. ¿Estas?
[No importa cuál sea su respuesta, envíe sus sugerencias y votos para la próxima semana] submit_crate!
Las RFC se beneficiarían de las pruebas de usuario antes de seguir adelante:
- No se emitieron convocatorias para pruebas esta semana.
- No se emitieron convocatorias para pruebas esta semana.
- No se emitieron convocatorias para pruebas esta semana.
necesitan pruebas.
Algunas de estas tareas también pueden tener mentores disponibles, visite la página de tareas para obtener más información.
Esta semana no se han presentado convocatorias para participar en proyectos.
Si eres propietario de un proyecto de Rust y estás buscando colaboradores, envía tareas [aquí] directrices o a través de un PR a TWiR o poniéndote en contacto con X (anteriormente twitter) o Mastodon!
¿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.
- Computación científica en Rust 2024 | Cierra 14/06/2024 | En línea | Fecha del evento: 2024-07-17 - 2024-07-19
- Rust Ukraine 2024 | Cierra el 06/07/2024 | Online + Ucrania, Kiev | Fecha del evento: 2024-07-27
- Conf42 Rustlang 2024 | Cierra 2024-07-22 | En línea | Fecha del evento: 2024-08-22
Si usted es un organizador de eventos que espera ampliar el alcance de su evento, envíe un enlace al sitio web a través de un PR to TWiR o comunicándose con X (anteriormente twitter) o Mastodon!
308 solicitudes de extracción fueron [fusionadas en la última semana][fusionadas]
- '-Znext-solver': normalizar con entusiasmo al agregar goles
- 'fn_arg_sanity_check': corregir mensaje de pánico
- add '--print=check-cfg' para obtener las configuraciones esperadas
- añadir '-Zfixed-x18'
- también InstSimplify '&raw*'
- también resolver el tipo de constantes, incluso si ya lo convertimos en una constante de error
- evite desenvolver diag.code directamente en 'note_and_explain_type_err'
- comprobar índice 'valor <= 0xFFFF_FF00'
- cobertura: evite el desbordamiento cuando se exceda el límite de condición MC/DC
- cobertura: instrumentar opcionalmente el RHS de operadores lógicos diferidos
- cobertura: cambiar el nombre de MC/DC 'conditions_num' a 'num_conditions'
- crear DefIds de bloque const en typeck en lugar de reducir ast
- no equiparar 'Const's ty en 'super_combine_const'
- no sugiera métodos de construcción irresolubles
- una pequeña mejora diagnóstica para 'dropping_copy_types'
- no recalcular 'cola' en 'lower_stmts'
- No sugiera convertir las expresiones no literales de caracteres de ty 'char' en literales de cadena
- habilitar DestinationPropagation de forma predeterminada
- doblar los límites de los elementos antes de probarlos en 'check_type_bounds' en el nuevo solucionador
- Implementar 'needs_async_drop' en Rustc y optimizar el pegamento asíncrono
- Mejorar la salida de diagnóstico de 'non_local_definitions' lint
- hacer que 'ProofTreeBuilder' sea realmente genérico en lugar de 'Interner'
- hacer que 'body_owned_by' devuelva el 'Body' en lugar de solo el 'BodyId'
- hacer que los vectores 'repr(empaquetados)' funcionen con intrínsecos SIMD
- hacer pelusa: 'lint_dropping_references lint_forgetting_copy_types lint_forgetting_references' dar sugerencia si es posible
- omitir 'no needs_drop drop_in_place' en vtables
- opt-in en la generación de 'FulfillmentError' para evitar hacer trabajo adicional en el nuevo solucionador
- reintroducir la comprobación de resolución de nombres para intentar acceder a las variables locales desde una const en línea
- rechazar 'CVarArgs' en 'parse_ty_for_where_clause'
- mostrar archivos producidos por '--emit foo' en notificaciones de artefactos JSON
- silenciar algunos errores de resolución cuando ha habido errores de importación de globos
- dejar de usar 'translate_args' en el nuevo solucionador
- soporta preprocesadores mdBook para TRPL en rustbook
- test codegen for 'repr(packed,simd)' → 'repr(simd)'
- ajustar las relaciones para que ya no dependan de 'TypeTrace'
- desenrollar la primera iteración del bucle 'checked_ilog'
- eleva '{Closure,Coroutine,CoroutineClosure}Args' y sus amigos a 'rustc_type_ir'
- usar notación entre paréntesis para los rasgos 'Fn'
- añadir algunas comprobaciones más específicas al validador MIR
- Miri: evite hacer una copia completa de todas las nuevas asignaciones
- Miri: Arreglar la detección de "caja local"
- no inhibir el reordenamiento aleatorio de campos en 'repr(packed(1))'
- Evite revisar la edición tanto como sea posible
- Aumentar el tamaño del diseño de vtable
- stabilise 'IpvNAddr::'{'BITS', 'to_bits', 'from_bits'} ('ip_bits')
- Estabilizar la función 'custom_code_classes_in_docs'
- stablize 'const_binary_heap_constructor'
- hacer que 'std::env::'{'set_var', 'remove_var'} no sea seguro en la edición 2024
- implementar la función 'integer_sign_cast'
- NVPTX: evite 'PassMode::D irect' para args en C abi
- genericize 'ptr::from_raw_parts'
- 'std::p al::unix::thread' obteniendo el tamaño mínimo de la pila en netbsd
- añadir un intrínseco para 'ptr::metadata'
- Cambiar 'F32::Midpoint' a Upcast a F64
- rustc-hash: reemplaza el hash con un hash más rápido y mejor finalizado
- prueba de carga: Tiempo transcurrido de redacción automática
- cargo add: Evite escapar las comillas dobles mediante el uso de literales de cadena
- cargo config: Asegúrate de que se respeta '--config net.git-fetch-with-cli=true'
- cargo nuevo: No digas que se están agregando a un espacio de trabajo cuando un paquete normal está en root
- cargo toml: Asegúrese de que los objetivos estén en un orden determinista
- proveedor de carga: Asegúrese de que la clasificación se realice para el proveedor
- cargo: permite obtener la configuración predeterminada de git/gitoxide del ENV y config
- cargo: ajustar el error personalizado de la comprobación de certificados debido al cambio de libgit2 1.8
- cargo: omitir la deserialización de campos no relacionados con nombres superpuestos
- clippy: 'many_single_char_names': deduplicar diagnósticos
- clippy: añadir pelusa 'needless_character_iteration'
- clippy: desaprobar 'maybe_misused_cfg' y 'mismatched_target_os'
- clippy: deshabilita 'indexing_slicing' para implicaciones personalizadas de 'Índice'
- clippy: corrige 'redundant_closure' sugiriendo código incorrecto con 'F: Fn()'
- clippy: deja que 'non_canonical_impls' omita proc marco
- clippy: ignorar la matriz de 'deref_addrof' lint
- clippy: hacer que 'str_to_string' sea aplicable a la máquina
- rust-analyzer: add 'Function::fn_ptr_type(...) ' para obtener el tipo de función borrado por nombre
- rust-analyzer: no marque las funciones '#[rustc_deprecated_safe_2024]' como inseguras
- rust-analyzer: habilita las finalizaciones dentro de los atributos del ayudante de derivación
- rust-analyzer: corrige la búsqueda de contenedores que fallan para los tokens que se originan dentro de los atributos derivados
- Rust-analyzer: Se corrige el borrado de diagnósticos cuando se ejecutan controles de vuelo por espacio de trabajo
- rust-analyzer: solo genera fragmentos para 'extract_expressions_from_format_string' si los fragmentos son compatibles
- rustfmt: colapso anidado si es detectado por clippy
- rustfmt: rustfmt no debería eliminar los atributos internos de los bloques const en línea
- rustfmt: rust rewrite 'check_diff' (Skeleton)
- rustfmt: usa 'with_capacity' en 'rewrite_path'
La única otra solicitud de incorporación de cambios identificada como potencialmente problemática fue la acumulación
PR #125824
Triaje realizado por @pnkfelix
a59072ec.. 1d52972d
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] Permitir restringir tipos opacos durante la subtipificación en el sistema de rasgos
- [disposición: fusionar] Decisión del TAIT sobre "puede definir implica debe definir"
- [disposición: fusionar] Estabilizar SIMD relajado de wasm
- No hay problemas de seguimiento de carga ni PR en el período de comentarios finales de esta semana.
- Ninguna RFC de equipo lingüístico entró en el período de comentarios finales esta semana.
- 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.
- No se crearon RFC nuevas o actualizadas esta semana.
Eventos oxidados entre 2024-06-05 - 2024-07-03 🦀
- 05/06/2024 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
- 06/06/2024 | Virtual (Tel Aviv, IL) | Expertos en código
- 06/06/2024 | Virtual (Berlín, DE) | OpenTechSchool Berlín + Rust Berlin
- 09/06/2024 | Virtual (Tel Aviv, IL) | Expertos en código
- 11/06/2024 | Virtual (Dallas, TX, EE. UU.) | Rust de Dallas
- 12/06/2024 | Virtual (Cardiff, Reino Unido)| Rust y C++ Cardiff
- 13/06/2024 | Virtual (Charlottesville, Carolina del Norte, EE. UU.) | Reunión de Charlottesville Rust
- 13/06/2024 | Virtual (Nürnberg, DE) | Rust Nuremberg
- 16/06/2024 | Virtual (Tel Aviv, IL) | Expertos en código
- 18/06/2024 | Virtual (Washington, DC, EE. UU.) | Rust DC
- 19/06/2024 | Virtual (Vancouver, Columbia Británica, CA) | Rust de Vancouver
- 20/06/2024 | Virtual (Berlín, DE) | OpenTechSchool Berlín + Rust Berlin
- 25/06/2024 | Virtual (Dallas, TX, EE. UU.)| Grupo de usuarios de Dallas Rust
- 27/06/2024 | Virtual (Charlottesville, Carolina del Norte, EE. UU.) | Reunión de Charlottesville Rust
- 02/07/2024 | Virtual (Búfalo, NY) | Encuentro de Buffalo Rust
- 03/07/2024 | Virtual | Capacitación 4 Programadores LLC
- 03/07/2024 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
- 05/06/2024 | Hamburgo, DE | Encuentro de Rust Hamburgo
- 06/06/2024 | Madrid, ES | Rust Loco
- 06/06/2024 | Vilnius, LT | Vilna Rust
- 06/06/2024 | Wrocław, PL | Rust de Breslavia
- 11/06/2024 | Copenhague, Dinamarca | Comunidad de Rust de Copenhague
- 11/06/2024 | París, FR | Rust Paris
- 12/06/2024 | Reading, Reino Unido | Taller de lectura de Rust
- 18/06/2024 | Fráncfort del Meno, DE | Reunión de Rust Frankfurt
- 19/06/2024 - 24/06/2024 | Zúrich, CH | RustFest Zürich
- 20/06/2024 | Aarhus, Dinamarca | Rust Aarhus
- 25/06/2024 | Gdańsk, PL | Rust Gdansk
- 27/06/2024 | Berlín, DE | Rust Berlin
- 27/06/2024 | Copenhague, Dinamarca | Comunidad de Rust de Copenhague
- 08/06/2024 | Somerville, MA, EE. UU. | Reunión de Boston Rust
- 11/06/2024 | Nueva York, NY, EE. UU. | Rust de Nueva York
- 12/06/2024 | Detroit, MI, EE. UU. | Rust de Detroit
- 13/06/2024 | Spokane, WA, EE. UU. | Rust de Spokane
- 17/06/2024 | Minneapolis, MN Estados Unidos | Reunión de Rust en Minneapolis
- 18/06/2024 | San Francisco, CA, EE. UU. | Grupo de Estudio de la Roya de San Francisco
- 20/06/2024 | Seattle, WA, EE. UU. | Grupo de usuarios de Seattle Rust
- 26/06/2024 | Austin, TX, EE. UU. | ATC de Rust
- 27/06/2024 | Nashville, Tennessee, Estados Unidos | Desarrolladores de Music City Rust
- 14/06/2024 | Melbourne, VIC, AU | Rust Melbourne
- 20/06/2024 | Auckland, Nueva Zelanda | Rust AKL
- 25/06/2024 | Canberra, ACt, AU | Grupo de usuarios de Canberra Rust (CRUG)
- 06/06/2024 | Buenos Aires, AR | Rust en Español | Rust Argentina
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
Cada PR es especial™
– Hieyou Xu describe estar en la rotación de revisión del compilador t
Lamentablemente, no hubo ninguna sugerencia, por lo que a llogiq se le ocurrió algo que esperaba que fuera adecuado.
¡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