2024-01-10
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 and archives can be viewed at this-week-in-rust.org. If you find any errors in this week's issue, please submit a PR.
This week's crate is named-sem, a wrapper library for named semaphores on Linux & Windows.
Thanks to EvianZhang for the self-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.
kafka servicesworkersnodes/models/transport and nodes/models/workersIf you are a Rust project owner and are looking for contributors, please submit tasks here.
Are you a new or experienced speaker looking for a place to share something cool? This section highlights events that are being planned and are accepting submissions to join their event as a speaker.
If you are an event organizer hoping to expand the reach of your event, please submit a link to the submission website through a PR to TWiR.
446 pull requests were merged in the last week
macro_rules: Less hacky heuristic for using tt metavariable spans
rustc_mir_transform: Enforce rustc::potential_query_instability lint
rustc_mir_transform: Make DestinationPropagation stable for queries
allow coverage tests to ignore test modes, and to enable color in coverage reports
coverage: llvm-cov expects column numbers to be bytes, not code points
coverage: avoid a query stability hazard in function_coverage_map
coverage: hoist some complex code out of the main span refinement loop
don't synthesize host effect params for trait associated functions marked const
enable address sanitizer for MSVC targets using INFERASANLIBS linker flag
make named_asm_labels lint not trigger on unicode and trigger on format args
populate yield and resume types in MIR body while body is being initialized
replace a number of FxHashMaps/Sets with stable-iteration-order alternatives
set the in-rust-tree feature for all rust-analyzer{-proc-macro-srv} steps
switch from using //~ERROR annotations with --error-format to error-pattern
use resolutions(()).effective_visiblities to avoid cycle errors in report_object_error
miri: implement the rounding intrinsics using apfloat rounding
make offset_of field parsing use metavariable which handles any spacing
rustdoc: Fix invalid handling for static method calls in jump to definition feature
rustfmt: fix enum variant doc comments wrapped before comment_width
clippy: extend map_clone lint to also work on non-explicit closures
clippy: extend unconditional_recursion lint to check for Default trait implementation
clippy: do not suggest [T; n] instead of vec![T; n] if T is not Copy
clippy: do not suggest bool::then() and bool::then_some in const contexts
clippy: don't change eagerness for struct literal syntax with significant drop
clippy: allow 3-digit-grouped binary in non_octal_unix_permissions
clippy: identity_op: correctly suggest a deference for coerced references
clippy: handle "calls" inside the closure as well in map_clone lint
clippy: improve cast_sign_loss to skip warning on always positive expressions
clippy: lint nested binary operations and handle field projections in eager_transmute
rust-analyzer: completion: make the expected type a tad smarter with Fns
rust-analyzer: don't trim trailing whitespace from doc comments
rust-analyzer: add assoc func quickfix for unresolved_method diagnostic
rust-analyzer: add quickfix for redundant_assoc_item diagnostic
rust-analyzer: resolve inherent and implemented associated items in docs
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 to rust-analyzer.check
rust-analyzer: fix focus range being discarded in attributes/derives when upmapping
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: 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
Rusty Events between 2024-01-10 - 2024-02-07 🦀
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
- Modular
- Very high quality construction compared to its competitors
- If you leave it lying around forget about it, stepping into a project is painful?
– Leonardo Giovanni Scur on mastodon explaining how bevy is like Lego™
Thanks to Jan Riemer for the suggestion!
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