2023-01-11
Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at @ThisWeekInRust on Twitter or @ThisWeekinRust on mastodon.social, or send us a pull request. Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub. If you find any errors in this week's issue, please submit a PR.
how-u-doin; a progress reporting abstractionThis week's crate is schnellru, which contains a fast and flexible LRU map.
Thanks to Squirrel for the suggestion!
Please submit your suggestions and votes for next week!
Always wanted to contribute to open-source projects but did not know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
lat and lng are strings the wrong error message is returnedlat and lng are missing it doesn't return the right errorIf you are a Rust project owner and are looking for contributors, please submit tasks here.
443 pull requests were merged in the last week
add default and latest stable edition to --edition in rustc (attempt 2)
split -Zchalk flag into -Ztrait-solver=(classic|chalk|next) flag
account for return-position impl Trait in trait in opt_suggest_box_span
add retry mechanism for rustdoc GUI tests to reduce flakyness
add type flags support for Ty and Const late-bound variables
default OOM handler: use non-unwinding panic, to match std handler
do not emit structured suggestion for turbofish with wrong span
point at expressions where inference refines an unexpected type
point out span where we could introduce higher-ranked lifetime
miri: ignore symbol shim clash when symbol is provided by compiler_builtins
only include metadata for non-dynamic libraries in rustc-dev
use FxIndexSet when updating obligation causes in adjust_fulfillment_errors_for_expr_obligation
futures: add PhantomData marker to Context to make Context !Send and !Sync
cargo: cargo by default saves credentials to .cargo/credentials.toml
rustdoc: fix rustdoc ICE on bad typedef with mismatching types
clippy: arithmetic_side_effects: Consider negative numbers and add more tests
clippy: expand derivable-impls to cover enums with a default unit variant
clippy: make the iter_kv_map lint handle ref/mut annotations
clippy: trim paths in box_default and default_trait_access/clone_on_copy suggestions
rust-analyzer: apply fallback before final obligation resolution
rust-analyzer: complete record enum variants without parens when snippets are disabled
rust-analyzer: add action to expand a declarative macro once, inline. Fixes #13598
rust-analyzer: add the ability to limit the number of threads launched by main_loop
rust-analyzer: colorize cargo check diagnostics in VSCode via text decorations
rust-analyzer: add generic TypeBoundList in generated derivable impl
rust-analyzer: only set machine-applicable rustc diagnostics as preferred
rust-analyzer: unescape inline module names in module resolution
rust-analyzer: skip lifetime elision on fn pointers and fn trait types
rust-analyzer: use ZWNJ to prevent VSCode from forming ligatures between hints and code
Rusty Events between 2023-01-11 - 2023-02-08 🦀
If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Please see the latest Who's Hiring thread on r/rust)
Now macros are fine, I mean we use them for implementing internals and you know if you have something that [...] needs to be implemented for lots and lots of different concrete types, then macros are a fine choice for that, but exposing that to users is something to be very careful about.
llogiq is a tad sad there were no suggestions, but still likes the quote he ended up with!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, andrewpollack, U007D, kolharsam, joelmarcey, mariannegoldin, bennyvasquez.
Email list hosting is sponsored by The Rust Foundation