2023-04-05
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.
[audio] AI-NC with Tom Miles
[audio] Servo with Josh Matthews
This week's crate is keshvar, a library providing a host of information on every country.
Thanks to Pouriya 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.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
390 pull requests were merged in the last week
specialization involving RPITITs is broken so ignore the diagnostic differences
add a builtin FnPtr trait that is implemented for all function pointers
middle: emit error rather than delay bug when reaching limit
correctly substitute GAT's type used in normalize_param_env in check_type_bounds
do not consider elaborated projection predicates for objects in new solver
erase impl regions when checking for impossible to eagerly monomorphize items
improve error message when writer is forgotten in write and writeln macro
make init mask lazy for fully initialized/uninitialized const allocations
numeric vars can only be unified with numerical types in deep reject
suggest ..= when someone tries to create an overflowing range
drop unstable Option::contains, Result::contains, Result::contains_err
change advance(_back)_by to return the remainder instead of the number of processed elements
rustdoc + rustdoc-json support for feature(non_lifetime_binders)
clippy: flag bufreader.lines().filter_map(Result::ok) as suspicious
clippy: fix allow attribute, items from macros in items_after_statements
clippy: ignore file!() macro in print_literal, write_literal
clippy: in uninit checking, add fallback for polymorphic types
rust-analyzer: expand Macro Recursively: don't append "!" to non-bang macro name
rust-analyzer: add missing autoborrow adjustment for index expressions
rust-analyzer: allow new, subsequent rust-project.json-based workspaces to get proc macro expansion
rust-analyzer: handle box and raw pointers correctly in builtin_deref
rust-analyzer: lower adjusts in simple index except the last one
rust-analyzer: use struct_tail_without_normalization in Expectation::rvalue_hint
rust-analyzer: limited syntax support for return type notations (RTN)
Rusty Events between 2023-04-05 - 2023-05-03 🦀
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
As usual, the borrow checker is correct: we are doing memory crimes.
Thanks to Jelte Fennema 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