2023-04-19
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.
This week's crate is onlyerror, a #[derive(Error)] macro with support for no_std on nightly compilers.
Thanks to Jay Oster 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.
enum_dispatch to reduce runtime overheadconnector_label field in error typeockam status --all to list more of the available resourcesrustcrypto feature from ockam_vaultIf you are a Rust project owner and are looking for contributors, please submit tasks here.
450 pull requests were merged in the last week
add a message for if an overflow occurs in core::intrinsics::is_nonoverlapping
add suggestion to remove derive() if invoked macro is non-derive
added diagnostic for pin! macro in addition to Box::pin if Unpin isn't implemented
assemble Unpin candidates specially for generators in new solver
emits non-overlapping suggestions for arguments with wrong types
erase lifetimes above ty::INNERMOST when probing ambiguous types
fix false positives for unused_parens around unary and binary operations
improve the error message when forwarding a matched fragment to another macro
incr.comp.: make sure dependencies are recorded when feeding queries during eval-always queries
reformulate point_at_expr_source_of_inferred_type to be more accurate
alloc hir::Lit in an arena to remove the destructor from Expr
rustc_metadata: Filter encoded data more aggressively using DefKind
sync::mpsc: synchronize receiver disconnect with initialization
rustdoc: correctly handle built-in compiler proc-macros as proc-macro and not macro
clippy: add manual_slice_size_calculation applicable suggestion
clippy: fix false positives and false negatives in octal_escapes
clippy: suggest std::mem::size_of_val instead of std::mem::size_of_value
rust-analyzer: don't suggest unstable items on stable toolchain
rust-analyzer: map tokens from include! expansion to the included file
rust-analyzer: fix allow extracting function from single brace of block expression
rust-analyzer: fix explicit deref problems in closure capture
rust-analyzer: fix inverted code lens resolve file version check
rust-analyzer: fix receiver adjustments for extract_variable assist
rust-analyzer: parse more exclusive range patterns and inline const patterns
Rusty Events between 2023-04-19 - 2023-05-17 🦀
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
Error types should be located near to their unit of fallibility.
Thanks to Anton Fetisov 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