2023-03-22
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 Speedy2D, a crate offering cross-platform Hardware-accelerated drawing of shapes, images, and text, with an easy to use API.
Thanks to Aleksey Kladov 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.
321 pull requests were merged in the last week
inherit_overflow: adapt pattern to also work with v0 manglingread_buf_exact: on error, all read bytes are appended to the bufferenable-warnings flag for llvm, and disable it by defaultuseless_anonymous_reexport lintAnonConstBoundarycustom-test-frameworks featureptr::read gets all the same LLVM load metadata that dereferencing doesunused_def lintE0532process_obligationsgenerics_of for impl's RPITIT (Return Position Impl Trait In Trait) synthesized associated type-Zlower-impl-trait-in-trait-to-assoc-tyformat_args!() and (string and int) literal arguments into format_args!()FixedSizeEncoding for UnusedGenericParamsShl/Shr at MIR buildingtype_of of GAT const argget_fn_declidentity_future indirection{} to interpret as a statementunused_generic_params from crate metadataformat_args invocations to use capturesunix_socket_abstractatomic_as_ptrRange as an Iterator in const contexts--ignore-rust-version flag to cargo installallow_attribute lint&std::path::MAIN_SEPARATOR.to_string()ifs_same_cond to warn same immutable method calls as wellalmost_swapped false positive (let mut a = b; a = a)almost_swapped: Ignore external macrosmanual_async_fn lintA mixed week, with some nice wins, but also at least two PR's that were subsequently reverted, such as the upgrade to LLVM 16. We do want to note PR #108944, which cut down on crate metadata, binary sizes, and was an overall win on execution time for many benchmarks.
Triage done by @pnkfelix. Revision range: 00587489..ef03fda3
1 Regressions, 4 Improvements, 11 Mixed; 2 of them in rollups 37 artifact comparisons made in total
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
An important step for RFC implementation is for people to experiment with the implementation and give feedback, especially before stabilization. The following RFCs would benefit from user testing before moving forward:
If you are a feature implementer and would like your RFC to appear on the above list, add the new call-for-testing
label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature
need testing.
Rusty Events between 2023-03-22 - 2023-04-19 🦀
Please see the latest Who's Hiring thread on r/rust
The generated program is a random sequence of bytes that just happens to take the shape of a seemingly working program by accident. Such is the joy of code that causes UB. You cannot deduce anything from what happens when you execute a program with UB, since that act is by itself meaningless. You need to establish that your program has no UB before making any inference based on what you see the program do after it came out of the compiler.
Thanks to bugaevc 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