Esta semana en Rust #20
¡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.
- Publicado r3bl_trerminal_async v0.5.1
- minbpe-rs v0.1.0: Puerto de 'minbpe' de Andrej Karpathy a Rust
- Retención de mensajes y reproducción con Selium
- Dejar el desarrollo de juegos de Rust después de 3 años
- Las tareas son una abstracción incorrecta
- ¿Go o Rust? Solo escucha a los bots
- Descifrando el Críptico (con Z3 y Rust)
- Entonces, quieres escribir una caja insegura
- Diseño de un diseño de memoria eficiente en Rust con uniones y unsafes, o una guía demasiado larga para evitar el envío dinámico
- Microservicios basados en eventos usando Kafka y Rust
- Escribir aserciones asíncronas ergonómicas en Rust
- Hacer un script de análisis HTML cien veces más rápido con Rayon
- Estabilidad de binarios de Rust
- [audio] Ratatui con Orhun Parmaksiz :: Estación Rustácea
- La guía del programador mediocre de Rust
- Mejorar la experiencia de desarrollo con Serverless Rust en RustRover
- developerlife.com - Polimorfismo de Rust, dyn, impl, uso de rasgos existentes, objetos de rasgos para pruebas y extensibilidad
- Optimización del rendimiento con flamegraph y Divan
- Escribir un tiempo de ejecución de Wasm en Rust
- Patrocinador de GitHub: desarrollador de Rust, Andrew Gallant (BurntSushi)
- Dando a Rust una oportunidad para códecs en el kernel
- Zed Decodificado: Cuerda y SumTree
- Un Iterador de Fibonacci casi infinito
- [video] De C a Rust: Trayendo abstracciones de Rust a Linux embebido
El crate de esta semana es efs, una implementación del sistema de archivos ext2 sin estándar con planes para agregar otros sistemas de archivos en el futuro.
Otra semana completamente desprovista de sugerencias, pero Llogiq mantiene la esperanza de no tener que buscar la caja de la próxima semana por sí mismo.
[Por favor, envíen 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.
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 ni presentaciones.
Si eres propietario de un proyecto de Rust y estás buscando colaboradores, envía tareas aquí.
¿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.
- EuroRust 2024| Cierra el 03/06/2024 | Viena, Austria y en línea | Fecha del evento: 2024-10-10
- Computación científica en Rust 2024| Cierra 14/06/2024 | En línea | Fecha del evento: 2024-07-17 - 2024-07-19
- 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 de envío a través de un PR a TWiR.
Se presentaron 409 solicitudes de incorporación de cambios [fusionadas en la última semana][fusionadas]
- abortar un proceso cuando se viola la propiedad de FD
- Se ha añadido soporte para que las pruebas unitarias run-make-support se ejecuten con bootstrap
- ast: generalizar el tipo de visita de artículos
- Cobertura: Evite los valores codificados de forma rígida al visitar operaciones lógicas
- cobertura: reemplace las opciones booleanas con una enumeración 'CoverageLevel'
- debuginfo: estabilizar '-Z debug-macros', '-Z collapse-macro-debuginfo' y '#[collapse_debuginfo]'
- delegación: admite el cambio de nombre, y funciones asíncronas, const, extern "ABI" y C-variádicas
- denigrar palabra clave en 'edition_2024_compat' lints
- deref patterns: lower deref patterns to MIR
- detectar un error de préstamo que involucre sub-rebanadas y sugerir 'split_at_mut'
- no permitir atributos ambiguos en expresiones
- no ICE en consts no válidas al caminar bloques mono-alcanzables
- no ice cuando 'codegen_select_candidate' devuelva ambigüedad en el nuevo solucionador
- no es fatal al llamar a 'expect_one_of' al recuperar arg en 'parse_seq'
- forzar el cierre de los argumentos + el tipo de retorno son WF
- arreglar ICE en tipos de parámetros const no válidos
- arreglar ICE cuando la cola ADT tiene un error de tipo
- corregir un error de memoria débil en TLS en Windows
- Mejorar el diagnóstico para la solicitud desconocida '--print'
- mejorar el manejo de errores expr→field
- marcar uniones no propagables por const en 'KnownPanicsLint' sin llamar a layout
- paréntesis de letra bonita alrededor del binario en la coincidencia de sufijo
- proporcionar más contexto y sugerencias en los errores de Borrowck que involucran cierres
- Registrar la certeza de la llamada 'evaluate_added_goals_and_make_canonical_response' en el candidato
- eliminar mayúsculas y minúsculas especiales para 'SimplifiedType' para el siguiente solucionador
- cambiar el nombre de 'inhibit_union_abi_opt()' a 'inhibits_union_abi_opt()'
- renombrado 'DerivedObligation' a 'WellFormedDeriveObligation'
- Requerir que se marquen explícitamente los cierres como corrutinas
- restringir la promoción de las llamadas 'const fn'
- establecer los atributos escribibles y 'dead_on_unwind' para los argumentos sret
- Fortalecer la política de seguimiento de problemas con consecuencias
- sugerir ref mut para la asignación de coincidencia de patrones
- sugerir el uso de argumentos de tipo directamente en lugar de la restricción de igualdad
- use el cumplimiento en la sonda del método, no en la evaluación
- Usar sondas de forma más agresiva en el nuevo solucionador
- no se permite que los elementos de idioma débil sean '#[track_caller]'
- miri: detectar vtables incorrectos en punteros anchos
- miri: 'unix_sigpipe': no inserte DEFAULT, solo úselo desde rustc
- miri: añadir '-Zmiri-env-set' para establecer variables de entorno sin modificar el entorno host
- miri env: dividir el manejo de variables de entorno de Windows y Unix
- miri: Descriptores de archivo: make write take &mut self
- miri: implementar intrínsecos LLVM x86 AVX2
- miri: Hacer que Miri-Script sea una raíz del espacio de trabajo
- miri: usa la variable TZ del programa interpretado en 'localtime_r'
- miri: windows: soporte básico para GetUserProfileDirectoryW
- estabilizar 'inline_const'
- estabilizar 'Utf8Chunks'
- estabilizar 'non_null_convenience'
- estabilizar 'std::p ath::absolute'
- estabilizar 'io_error_downcast'
- deLLVMize some intrínsecos (use 'u32' en lugar de 'Self' en algunos intrínsecos enteros)
- dejar de usar los tipos 'struct' de LLVM para alloca
- 'thread_local': ser insoportablemente explícito en el código dtor
- arreglar 'offset_of!' devolviendo un temporal
- relax 'A: Clone' con destino a 'rc::Weak::into_raw_and_alloc'
- 'PathBuf': reemplaza la transmutación por funciones de acceso
- codegen_gcc: algunas correcciones para aarch64
- codegen_gcc: algunas correcciones y soluciones más para Aarch64
- cargo: alias: Los alias sin subcomandos no deben entrar en pánico
- cargo: pelusas: no siempre heredan pelusas del espacio de trabajo
- instalación de cargo: No respetar MSRV para instalaciones no locales
- cargo toml: Sé más contundente con la redundancia de guión bajo/guión
- cargo toml: No advertir dos veces cuando se usa un guión bajo en el espacio de trabajo dep
- cargo toml: Eliminar el soporte de campo de subrayado en 2024
- cargo toml: Advertir, en lugar de fallar la publicación, si se excluye un objetivo
- cargo toml: Eliminar el soporte para heredar insignias
- cargo: tenga en cuenta dónde se colocó la pelusa
- cargo: Sistema de limpieza de revestimientos
- cargo: arreglar la entrada de destino en .gitignore
- cargo: Corregir la supresión de advertencias para config.toml vs enlaces simbólicos de compatibilidad con configuración
- bindgen: añadir carga dinámica de variable
- bindgen: eliminar qué dependencia
- bindgen: simplificar la conversión de objetivos de Rust a Clang
- clippy: 'single_match'('_else') puede ser aplicable a la máquina
- clippy: 'non_canonical_partial_ord_impl': Se corrigen las advertencias que entran en conflicto con 'needless_return'
- clippy: 'type_complexity': Corregir errores duplicados
- clippy: comprobar si el cierre como método arg tiene acceso de lectura en 'collection_is_never_read'
- clippy: permite de forma configurable 'useless_vec' en las pruebas
- clippy: arreglar el linaje 'large_stack_arrays' en la macro 'vec'
- clippy: corregir falso positivo en 'cast_possible_truncation'
- clippy: suprimir 'readonly_write_lock' para los enlaces con el prefijo de guión bajo
- rust-analyzer: código de error diferente de error "No such field" basado en el tipo de variante
- rust-analyzer: No reintentar las solicitudes de posición y los datos de resolución de versiones
- rust-analyzer: corrige atributos en parámetros genéricos que colisionan en el árbol de elementos
- rust-analyzer: arreglar el desazúcar de los comentarios de doc para proc-macros
- rust-analyzer: se corrigen los ámbitos de expresión que no se calculan para las consts en línea
- rust-analyzer: arreglar las raíces de origen que no siempre se crean cuando es necesario
- rust-analyzer: hacer que 'Cargo Run' esté siempre disponible para binarios
- rust-analyzer: manual: eliminar sugerencia de rust-project.json ejemplo
- rust-analyzer: Soporta límites flotantes para ADTs
- rustfmt: corregir sangría incorrecta en el atributo interno
semana.
Triaje realizado por @simulacrum
a77f76e2.. C65b2DC9
Los cambios en Rust siguen el proceso de Rust RFC (solicitud de comentarios)
Cada semana, el equipo
- [disposición: fusionar] Captura precisa
- [disposición: fusionar] Bloqueos externos inseguros
- [disposición: fusionar] MaybeDangling
- [disposición: fusionar] Añadir 'Opción::take_if'
- [disposición: fusionar] elaborar obligaciones en coherencia
- [disposición: fusionar] Permitir la coerción de funciones cuya firma difiere en tipos opacos en su ámbito de definición en un tipo de puntero de función compartida
- [disposición: fusionar] Vamos a '#[esperar]' algunas pelusas: 'Estabilizar lint_reasons' (RFC 2383)
- [disposición: fusionar] Problema de seguimiento de las funciones de recorte ASCII en segmentos de bytes
- [disposición: fusionar] Agregar 'IntoIterator' para 'Box<[T]>' + pelusas específicas de la edición 2024
- [disposición: fusionar] Añadir 'Box<[T; N]>: IntoIterator' sin ningún método dispatch hacks
- [disposición: fusionar] rustdoc-search: buscar referencias
- [disposición: cerrar] Un rasgo adicional limitado hace que el cuerpo de la función no pueda realizar la comprobación de tipos
- [disposición: fusionar] Hacer que las conversiones de punteros a objetos de rasgo sean más estrictas
- [disposición: fusionar] Problema de seguimiento para split_at_checked
- [nuevo] Captura precisa
Eventos Rusticos entre 2024-05-01 - 2024-05-29 🦀
- 01/05/2024 | Virtual (Cardiff, Reino Unido) | Rust y C++ Cardiff
- 01/05/2024 | Virtual (Indianápolis, IN, EE. UU.) | Indy Rust
- 02/05/2024 | Virtual (Aarhus, DK) | Organizadores de Rust Aarhus
- 02/05/2024 | Virtual (Charlottesville, Carolina del Norte, EE. UU.) | Reunión de Charlottesville Rust
- 02/05/2024 | Virtual (Londres, Reino Unido) | Mujeres en Rust
- 07/05/2024 | Virtual (Búfalo, NY) | Encuentro de Buffalo Rust
- 09/05/2024 | Virtual (Berlín, DE) | OpenTechSchool Berlín + Rust Berlin
- 09/05/2024 | Virtual (Israel) | Rust en Israel
- 09/05/2024 | Virtual (Núremberg/Núremberg, DE) | Rust Nuremberg
- 14/05/2024 | Virtual (Dallas, TX, EE. UU.) | Rust de Dallas
- 14/05/2024 | Virtual (Halifax, NS, CA) | Rust Halifax
- 14/05/2024 | Virtual + presencial (Múnich/Múnich, DE) | Rust Múnich
- 15/05/2024 | Virtual (Vancouver, Columbia Británica, CA) | Rust de Vancouver
- 16/05/2024 | Virtual (Charlottesville, VA, EE. UU.) | Reunión de Charlottesville Rust
- 2024-05-21 | Virtual (Washington, DC, EE. UU.) | Rust DC
- 23/05/2024 | Virtual (Berlín, DE) | OpenTechSchool Berlín + Rust Berlin
- 28/05/2024 | Virtual (Dallas, TX, EE. UU.) | Rust de Dallas
- 04/05/2024 | Kampala, UG | Círculo de Rust Kampala
- 11/05/2024 | Bangalore, IN | Rust Bangalore
- 01/05/2024 | Köln/Colonia, DE | Colonia Rust
- 01/05/2024 | Utrecht, Países Bajos | Comunidad NL-RSE
- 06/05/2024 | Delft, NL | GOSIM
- 07/05/2024 y 08/05/2024 | Delft, NL | RustNL
- 07/05/2024 | Oxford, Reino Unido | Grupo de Encuentro de Oxfrod Rust
- 08/05/2024 | Cambridge, Reino Unido | Reunión de Cambridge Rust
- 09/05/2024 | Gdańsk, PL | Rust Gdansk
- 14/05/2024 | Londres, Reino Unido | Grupo de usuarios de Rust London
- 14/05/2024 | Virtual + presencial (Múnich/Múnich, DE) | Rust Múnich
- 14/05/2024 | Praga, República Checa | Rust Praga
- 14/05/2024 | Reading, Reino Unido | Taller de lectura de Rust
- 16/05/2024 | Augsburgo, DE | Encuentro de Rust Augsburgo
- 16/05/2024 | París, FR | Rust Paris
- 2024-05-21 | Aarhus, Dinamarca | Rust Aarhus
- 2024-05-21 | Zúrich, CH | Rust Zúrich
- 2024-05-22 | Leiden, NL | Desarrollo de software preparado para el futuro por FreshMinds
- 23/05/2024 | Berna, CH | Rust Bern
- 24/05/2024 | Burdeos, FR | Rust Burdeos
- 2024-05-28 - 2024-05-30 | Berlín, DE | Oxidize
- 04/05/2024 | Cambridge, MA, EE. UU. | Reunión de Boston Rust
- 08/05/2024 | Detroit, MI, EE. UU. | Rust de Detroit
- 09/05/2024 | Spokane, WA, EE. UU. | Rust de Spokane
- 12/05/2024 | Brookline, MA, EE. UU. | Reunión de Boston Rust
- 14/05/2024 | Minneapolis, MN, EE. UU. | Reunión de Rust en Minneapolis
- 16/05/2024 | Seattle, WA, EE. UU. | Grupo de usuarios de Seattle Rust
- 20/05/2024 | Somerville, MA, EE. UU. | Reunión de Boston Rust
- 2024-05-21 | San Francisco, CA, EE. UU. | Grupo de Estudio de la Roya de San Francisco
- 2024-05-22 | Austin, TX, EE. UU. | Rust ATX
- 2024-05-25 | Chicago, Illinois, Estados Unidos | Rust de plato profundo
- 02/05/2024 | Ciudad de Brisbane, QL, AU | Rust Brisbane
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
¡Gracias a Jacob Pratt 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