Esta semana en Rust #13
¡Hola y bienvenido a otra edición de This Week in Rust!
Rust
¿Quieres que mencionemos 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 de manera abierta en GitHub y los archivos se pueden ver en this-week-in-rust.org
por favor envía una PR.
- Maestro - Introducción
- Polars
- Registro de cambios de rust-analyzer #215
- argmin 0.9.0 - Una crate Rust para optimización numérica
- Benchmarks continuos para rustls
- ¡embedded-hal v1.0 ya lanzado!
- Arrays: ¿Error de índice fuera de límites? ¡No siempre!
- Lo que me gustaría ver para Async Rust en 2024
- Asegurando la Web: Rustls en camino de superar a OpenSSL
- Construcción al estilo Inception con dependencias privadas de GitHub
- Verificando Rust Zeroize con Assembly...incluyendo SIMD portátil
- ¿Por qué stdout es más rápido que stderr?
- [audio] Programación de Audio en Rust con Ian Hobson
- [audio] Polars con Ritchie Vink
- Comenzando con Tracing en Rust
- Haciendo Matemáticas de Primer Grado en el Sistema de Tipos de Rust
- Creemos una pantalla de información en Rust
- 3 formas de manejar el desbordamiento de números en Rust
- Rocket - multicuenta usando cookies
- unwrap, una forma de manejar errores en Rust
- [video] Top 10 Juegos de Bevy Jam 4
- [video] ¡Necesitas construir una aplicación de escritorio RUST!!
El crate de esta semana es named-sem, una biblioteca de envoltura para semáforos con nombre en Linux y Windows.
¡Gracias a EvianZhang por la auto-sugerencia!
Por favor, envía tus sugerencias y votos para la próxima semana!
Algunas de estas tareas también pueden contar con mentores, visita la página de la tarea para obtener más información.
- Ockam - refactor to use typed interfaces to implement commands for
workers
- Ockam - Validate CBOR structs according to the cddl schema for
nodes/models/transport
andnodes/models/workers
- Hyperswitch - Make cache configuration configurable at runtime
- Hyperswitch - Implement Code cov for local system using makefile
- Hyperswitch - Setup code coverage for local tests & CI
- Hyperswitch - Add domain type for client secret
- Hyperswitch - Have get_required_value to use ValidationError in OptionExt
Si eres propietario de un proyecto Rust y estás buscando colaboradores, por favor presenta tareas aquí.
¿Eres un ponente nuevo o experimentado buscando un lugar para compartir algo interesante? Esta sección destaca eventos que se están planeando y que aceptan presentaciones para unirse como ponente.
- No se enviaron convocatorias esta semana.
Si eres un organizador de eventos que desea ampliar el alcance de su evento, por favor presenta un enlace al sitio de presentación a través de un PR a TWiR.
Se fusionaron 446 solicitudes de extracción la semana pasada.
- promover objetivos
riscv32{im|imafc}
a nivel 2 - agregar objetivo de nivel 3
riscv32imafc-esp-espidf
para ESP32-P4 - soportar clase de registro
reg_addr
en ensamblaje en línea s390x - agregar -Zuse-sync-unwind
macro_rules
: Agregar una caché local de expansión al marcador de spansmacro_rules
: Heurística menos engañosa para usar los spans de la metavariablett
rustc_mir_transform
: Aplicar lintrustc::potential_query_instability
rustc_mir_transform
: Hacer estableDestinationPropagation
para consultasrustc_span
: Operaciones de combinación de spans más consistentesrustc_span
: Optimizar comparaciones de contextos de sintaxis- permitir que las pruebas de cobertura ignoren los modos de prueba y habiliten el color en los informes de cobertura
- evitar la especialización en el código de serialización de metadatos
- verificar el tipo de reanudación del terminador de yield en borrowck
- cobertura:
llvm-cov
espera que los números de columna sean bytes, no puntos de código - cobertura: anonimizar números de línea en vistas de ramas
- cobertura: evitar un riesgo de estabilidad de consulta en
function_coverage_map
- cobertura: elevar parte del código complejo fuera del bucle principal de refinamiento de spans
- denegar valores predeterminados para parámetros genéricos de rango superior
- no sintetizar argumentos de efecto host dentro de tipos de objetos de trait
- no sintetizar parámetros de efecto host para funciones asociadas de trait marcadas como const
- habilitar el sanitizer de direcciones para objetivos MSVC usando la bandera del enlazador INFERASANLIBS
- exhaustividad: hacer cumplir estáticamente la revelación de opacos
- corregir el alcance para cadenas let en guardias de coincidencia
- manejar ForeignItem como alcance TAIT
- ocultar rutas externas
#[doc(hidden)]
en sugerencias de importación - ocultar rutas extranjeras
#[doc(hidden)]
en sugerencias de importación - ajustes en el diagnóstico de
impl trait
- implicar límites de supervivencia en alias de tipo diferido
- mejorar el soporte del atributo
collapse_debuginfo
para macros - incorporar algunas funciones de utilidad alrededor de MIR
- llvm: permitir
noundef
en pruebas de generación de código - hacer la sugerencia de
derive(Trait)
más precisa - hacer que la lint
named_asm_labels
no se active en Unicode y se active en los argumentos de formato - hacer siempre ambiguos los ciclos inductivos en coherencia
- marcarme como de vuelta de la licencia
- migrar la verificación de superposición de memoria de validador a lint
- llenar los tipos
yield
yresume
en el cuerpo de MIR mientras se inicializa el cuerpo - imprimir correctamente los predicados de trait siempre-const
- consultar
panic!()
para obtener un diagnóstico útil - recuperar paréntesis en patrones de rango
- restablecer la configuración
optimized-compiler-builtins
- reordenar los diagnósticos de
check_item_type
para que ocurran junto a los diagnósticos correspondientes decheck_well_formed
- reemplazar varios FxHashMaps/Sets con alternativas de orden de iteración estable
- separar la representación de ScalarPair inmediata y en memoria
- establecer la característica
in-rust-tree
para todos los pasos de rust-analyzer{-proc-macro-srv} - omitir el enroscado sobre SetDiscriminant sin operación
- estabilizar THIR unsafeck
- dejar de alimentar vis cuando no se puede acceder a un elemento de trait
- soportar
~const
en funciones asociadas en implementaciones de trait - suprimir las advertencias del change-tracker en los contenedores de CI
- cambiar de usar anotaciones
//~ERROR
con--error-format
aerror-pattern
- desactivar temporalmente los ejecutores M1 en las acciones de GitHub
- ajustar las sugerencias para un trait desnudo utilizado como tipo
- usar
resolutions(()).effective_visibilities
para evitar errores cíclicos enreport_object_error
- mir personalizado: dejar claro cuál es el bloque de retorno
- miri: implementar las instrucciones de redondeo utilizando el redondeo apfloat
- miri: usar jemalloc como asignador global
- miri: solo usar jemalloc en Linux y macOS
- eliminar binarios lld-wrapper
- dos pequeñas optimizaciones de bitset
- codegen-cranelift: reestructurar las instrucciones de empaquetado con signo x86
- hacer constante estable
intrinsics::assume
- reescribir la implementación predeterminada de
Iterator::position
- hacer que el análisis de campos de
offset_of
use una metavariante que maneje cualquier espaciado - marcar los punteros de
vec::IntoIter
como!nonnull
- cargo fix: Llamar a rustc menos veces
- cargo fix: establecer
OUT_DIR
para todas las unidades con scripts de construcción - cargo cli: agregar colores a la salida de consola de
-Zhelp
- cargo embedded: agregar varias sintaxis experimentales de manifiesto
- [cargo embedded: agregar soporte para sintaxis de frontmatter con prefijo de caracteres](https://github.com/rust-lang/cargo
- rust-analyzer:
extract_struct_from_enum_variant
assist should resolve Self generic arg - rust-analyzer: assists panic when trying to edit usage inside macro
- rust-analyzer: correct references from
rust-analyzer.cargo.check
torust-analyzer.check
- rust-analyzer: fix focus range being discarded in attributes/derives when upmapping
- rust-analyzer: fix panic on unaligned packed attribute
- rust-analyzer: fix type inference with
IndexMut
returning references - rust-analyzer: give a userful error when rustc cannot be found in explicit sysroot
- rust-analyzer: make callable fields not complete in method access no parens case
- rust-analyzer: make functions in impl have a container name
- rust-analyzer: no code action
'introduce_named_generic'
for impl inside types - rust-analyzer: notify user that linkedProjects is set when failing to discover projects
- rust-analyzer: pick up new names when the name conflicts in
'introduce_named_generic'
- rust-analyzer: remove completion limit for trait importing method completions
- rust-analyzer: rewrite
code_action generate_delegate_trait
- rust-analyzer: self type replacement in inline-function
Triage done by @simulacrum
67b6975..76101ee
Los cambios en Rust siguen el proceso de RFC (solicitud de comentarios)
- No se aprobaron RFCs esta semana.
Cada semana, el equipo
- [disposition: merge] RFC: constants in patterns
- [disposition: merge] Add RFC combining Infra and Release teams
- [disposition: merge] RFC: Precise Pre-release
cargo update
- [disposition: postpone] [Draft] RFC: Patch dependencies using unidiff patchfiles
- [disposición: fusión] error en límites implícitos incorrectos en wfcheck excepto para dependientes de Bevy
- [disposición: fusión] Estabilizar
slice_first_last_chunk
- [disposición: fusión] Advertir sobre referencias que se convierten en un diseño de memoria más grande
- [disposición: fusión] Intercambio const-eval: eliminar la travesía impulsada por el tipo
- [disposición: fusión] Issue de Seguimiento para
round_ties_even
- [disposición: fusión] Estabilizar offset_of de un solo campo
- [disposición: fusión] revertir la estabilización de const_intrinsic_copy
- [disposición: fusión] [rustdoc] Permite enlaces en encabezados
- [disposición: fusión] Usar ordenación por versión para todas las ordenaciones
- [disposición: fusión] Denegar invocaciones de macro con llaves en let-else
- Ninguna RFC de la Referencia de Lenguaje entró en el Período Final de Comentarios esta semana.
- Ninguna RFC de las Directrices de Código No Seguro entró en el Período Final de Comentarios esta semana.
- RFC: Permitir la reexportación de símbolos en una crate cdylib desde un staticlib enlazado
- RFC: cargo-sbom
RFC se beneficiarían de pruebas de usuario antes de avanzar:
- Ningún RFC emitió un llamado a pruebas esta semana.
Si eres un implementador de funciones y deseas que tu RFC aparezca en la lista anterior, agrega la nueva etiqueta call-for-testing
Eventos de Rust entre el 2024-01-10 y el 2024-02-07 🦀
- 2024-01-11 | Virtual (Charlottesville, NC, US) | Encuentro Rust de Charlottesville
- 2024-01-11 | Virtual (Núremberg, DE) | Rust Núremberg
- 2024-01-11 | Virtual (San Diego, CA, US) | Rust San Diego
- 2024-01-16 | Virtual (Washington, DC, US) | Rust DC
- 2024-01-17 | Virtual (Vancouver, BC, CA) | Rust Vancouver
- 2024-01-21 | Virtual | Rust Maven
- 2024-01-23 | Virtual (Halifax, NS, CA) | Rust Halifax
- 2024-01-24 | Virtual (Berlín, DE) | WeAreDevelopers Community
- 2024-01-25 | Virtual (Charlottesville, NC, US) | Encuentro Rust de Charlottesville
- 2024-01-25 | Virtual (Ciudad de México, DF, MX) | Rust MX
- 2024-01-28 | Virtual (Wrocław, PL) | Stacja IT Wrocław
- 2024-01-30 | Virtual | Bevy Game Development
- 2024-01-30 | Virtual (Buffalo, NY, US) | Buffalo Rust User Group
- 2024-01-30 | Virtual (Dallas, TX, US) | Dallas Rust
- 2024-02-01 | Virtual (Berlín, DE) | OpenTechSchool Berlín
- 2024-02-03 | Virtual + Presencial (Bruselas, BE) | FOSDEM 2024
- 2024-02-03 | Virtual (Kampala, UG) | Rust Circle
- 2024-02-07 | Virtual (Indianápolis, IN, US) | Indy Rust
- 2024-02-08 | Virtual (Charlottesville, NC, US) | Charlottesville Rust Meetup
- 2024-01-10 | Colonia, DE | Rust Colonia
- 2024-01-11 | Reading, UK | Reading Rust Workshop
- 2024-01-11 | Wrocław, PL | Rust Wrocław
- 2024-01-13 | Tampere, FI | Finland Rust-lang Group
- 2024-01-16 | Leipzig, DE | Rust - Programación Moderna de Sistemas en Leipzig
- 2024-01-17 | Girona, ES | Rust Girona
- 2024-01-17 | Praga, CZ | Rust Praga
- 2024-01-17 | Zúrich, CH | Rust Zúrich
- 2024-01-23 | Aarhus, DK | Rust Aarhus
- 2024-01-23 | París, FR | Rust París
- 2024-02-01 | Barcelona, ES | BcnRust
- 2024-02-03 | Brussels, BE | FOSDEM '24
- 2024-01-11 | Lehi, UT, EE. UU. | Utah Rust
- 2024-01-14 | Cambridge, MA, EE. UU. | Boston Rust Meetup
- 2024-01-16 | San Francisco, CA, EE. UU. | San Francisco Rust Study Group
- 2024-01-17 | Chicago, IL, EE. UU. | Deep Dish Rust
- 2024-01-18 | Seattle, WA, EE. UU. | Seattle Rust User Group
- 2024-01-22 | Boston, MA, EE. UU. | Boston Rust Meetup
- 2024-01-24 | Austin, TX, EE. UU. | Rust ATX
- 2024-01-27-28 | Calgary, AB, CA | Rust Calgary
- 2024-01-30 | Cambridge, MA, EE. UU. | Boston Rust Meetup
- 2024-02-07 | Brookline, MA, EE. UU. | Boston Rust Meetup
- 2024-01-16 | Christchurch, NZ | Christchurch Rust Meetup Group
- 2024-02-06 | Perth, WA, AU | Perth Rust Meetup Group
Si estás organizando un evento de Rust, agrégalo al calendario para que se mencione aquí. Recuerda agregar también un enlace al evento. Envía un correo electrónico al Equipo de la Comunidad Rust para obtener acceso.
Consulta el último hilo de "¿Quién está contratando?" en r/rust
- Modular
- Construcción de muy alta calidad en comparación con sus competidores
- Si lo dejas por ahí, olvídate de él, entrar en un proyecto es doloroso?
– Leonardo Giovanni Scur en mastodon explicando cómo bevy es como Lego™
Gracias a Jan Riemer por la sugerencia!
¡Envía citas y vota para la próxima semana!
Esta Semana en Rust es editada 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