This Week in Rust 454
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? Tweet us at @ThisWeekInRust 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.
Updates from Rust Community
Official
Increasing the glibc and Linux kernel requirements
Project/Tooling Updates
rust-analyzer changelog #140
GCC Rust Monthly Report #19 July 2022
This Month in hyper: July 2022
Bevy 0.8
This week in Fluvio #41: The programmable streaming platform
Fornjot (code-first CAD in Rust) - Weekly Release - 2022-W31
Zellij 0.31.0: Sixel support, search panes and custom status-bar keybindings
Ogma v0.5 Release
Slint UI crate weekly updates
HexoSynth 2022 - Devlog #7 - The DSP JIT Compiler
This week in Databend #53: A Modern Cloud Data Warehouse for Everyone
Observations/Thoughts
Rust linux kernel development
Proc macro support in rust-analyzer for nightly rustc versions
Manage keybindings in a Rust terminal application
Safety
Paper Review: Safe, Flexible Aliasing with Deferred Borrows
Uncovering a Blocking Syscall
nt-list: Windows Linked Lists in idiomatic Rust
[audio] Beyond the Hype: Most-loved language – does Rust justify the hype?
Rust Walkthroughs
Patterns with Rust types
Fully generic recursion in Rust
Advanced shellcode in Rust
STM32F4 Embedded Rust at the HAL: Analog Temperature Sensing using the ADC
[video] Are we web yet? Our journey to Axum
[video] Build your Rust lightsaber (my Rust toolkit recommendations)
[video] Rust Tutorial Full Course
[video] Bevy 0.7 to 0.8 migration guide
Research
RRust: A Reversible Embedded Language
Miscellaneous
Meta approves 4 programming languages for employees and devs
[DE] Meta setzt auf die Programmiersprachen C++, Python, Hack und neuerdings Rust
Crate of the Week
This week's crate is lending-iterator, a type similar to std::iter::Iterator, but with some type trickery that allows it to .windows_mut(_) safely.
Thanks to Daniel H-M for the self-nomination!
Please submit your suggestions and votes for next week!
Call for Participation
Always wanted to contribute to open-source projects but didn't 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.
EuroRust Call for Papers is Open
pq-sys - Setup a CI
ockam - Make ockam message send ... support - to represent STDIN in its addr argument
ockam - Display a node's default identifier in output of ockam node create | show | list commands
ockam - Refactor ockam portal ... commands into ockam tcp-... commands
Updates from the Rust Project
391 pull requests were merged in the last week
Add diagnostic when using public instead of pub
Expose size_hint() for TokenStream's iterator
suggest dereferencing index when trying to use a reference of usize as index
suggest removing a semicolon and boxing the expressions for if-else
suggest removing the tuple struct field for the unwrapped value
improve cannot move out of error message
don't ICE on invalid dyn calls
chalk: solve auto traits for closures
add Self: ~const Trait to traits with #[const_trait]
miri: add default impls for FileDescriptor methods
miri: use cargo_metadata in cargo-miri
miri: use real exec on cfg(unix) targets
codegen: use new {re,de,}allocator annotations in llvm
use FxIndexSet for region_bound_pairs
lexer improvements
optimize UnDerefer
implement network primitives with ideal Rust layout, not C system layout
fix slice::ChunksMut aliasing
optimize vec::IntoIter::next_chunk impl
cargo: support for negative --jobs parameter, counting backwards from max CPUs
rustdoc: add support for #[rustc_must_implement_one_of]
rustdoc: align invalid-html-tags lint with commonmark spec
rustfmt: nicer skip context for macro/attribute
clippy: move assertions_on_result_states to restriction
clippy: read and use deprecated configuration (as well as emitting a warning)
clippy: remove "blacklist" terminology
clippy: unwrap_used: don't recommend using expect when the expect_used lint is not allowed
rust-analyzer: find original ast node before compute ref match
rust-analyzer: find standalone proc-macro-srv on windows too
rust-analyzer: publish extension for 32-bit ARM systems
rust-analyzer: calculate completions after type anchors
rust-analyzer: do completions in path qualifier position
rust-analyzer: don't complete marker traits in expression position
rust-analyzer: fix pattern completions adding unnecessary braces
rust-analyzer: complete path of existing record expr
Rust Compiler Performance Triage
Call for Testing
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:
No RFCs issued a call for testing this week.
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.
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
No RFCs were approved this week.
Final Comment Period
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
RFCs
No RFCs entered Final Comment Period this week.
Tracking Issues & PRs
[disposition: merge] relate closure_substs.parent_substs() to parent fn in NLL
[disposition: merge] Don't derive PartialEq::ne.
[disposition: merge] Guarantees of content preservation on try_reserve failure?
[disposition: merge] Partially stabilize std::backtrace from backtrace
[disposition: merge] Tracking Issue for ptr_const_cast
New and Updated RFCs
No New or Updated RFCs were created this week.
Upcoming Events
Rusty Events between 2022-08-03 - 2022-08-31 🦀
Virtual
2022-08-03 | Virtual (Indianapolis, IN, US) | Indy Rust
Indy.rs - with Social Distancing
2022-08-03 | Virtual (Stuttgart, DE) | Rust Community Stuttgart
Rust-Meetup
2022-08-05 | Virtual + Portland, OR, US | RustConf
RustConf 2022
2022-08-09 | Virtual (Dallas, TX, US) | Dallas Rust
Second Tuesday
2022-08-09 | Virtual (Myrtle Point, OR, US) | #EveryoneCanContribute Cafe
Summer Chill & Learn: including OpenTelemetry getting started with Rust
2022-08-10 | Virtual (Boulder, CO, US) | Boulder Elixir and Rust
Monthly Meetup
2022-08-11 | Virtual (Nürnberg, DE) | Rust Nuremberg
Rust Nürnberg online
2022-08-12 | Virtual + Tokyo, JP | tonari
Tokyo Rust Game Hack 2022 edition: The Bombercrab Challenge
2022-08-13 | Virtual | Rust Gamedev
Rust Gamedev Monthly Meetup
2022-08-16 | Virtual (Washington, DC, US) | Rust DC
Mid-month Rustful
2022-08-17 | Virtual (Vancouver, BC, CA) | Vancouver Rust
Rust Study/Hack/Hang-out
2022-08-18 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
Hierarchical Task Network compiler written in Rust
2022-08-18 | Virtual (Stuttgart, DE) | Rust Community Stuttgart
Rust-Meetup
2022-08-24 | Virtual + Wellington, NZ | Rust Wellington
Flywheel Edition: 3 talks on Rust!
2022-08-30 | Virtual + Dallas, TX, US | Dallas Rust
Last Tuesday
Asia
2022-08-12 | Tokyo, JP + Virtual | tonari
Tokyo Rust Game Hack 2022 edition: The Bombercrab Challenge
Europe
2022-08-30 | Utrecht, NL | Rust Nederland
Run Rust Anywhere
North America
2022-08-05 | Portland, OR, US + Virtual | RustConf
RustConf 2022
2022-08-06 | Portland, OR, US | Rust Project Teams
RustConf 2022 PostConf Unconf | Blog post
2022-08-10 | Atlanta, GA, US | Rust Atlanta
Grab a beer with fellow Rustaceans
2022-08-11 | Columbus, OH, US| Columbus Rust Society
Monthly Meeting
2022-08-16 | San Francisco, CA, US | San Francisco Rust Study Group
Rust Hacking in Person
2022-08-23 | Toronto, ON, CA | Rust Toronto
WebAssembly plugins in Rust
2022-08-25 | Ciudad de México, MX | Rust MX
Concurrencia & paralelismo con Rust
2022-08-25 | Lehi, UT, US | Utah Rust
Hello World Cargo Crates Using Github Actions with jojobyte and Food!
Oceania
2022-08-24 | Wellington, NZ + Virtual | Rust Wellington
Flywheel Edition: 3 talks on Rust!
2022-08-26 | Melbourne, VIC, AU | Rust Melbourne
August 2022 Meetup
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.
Jobs
Please see the latest Who's Hiring thread on r/rust
Quote of the Week
❤️🦀❤️
100,000 issues filled with love, compassion and a wholesome community. Thank you, Rust community, for being one of the most, if not straight out the most, welcoming programming communities out there. Thank you, Rust teams, for the tireless hours you spend every day on every aspect of this project. Thank you to the Rust team alumni for the many hours spent growing a plant and the humility of passing it to people you trust to continue taking care of it. Thank you everyone for RFCs, giving voice to the community, being those voices AND listening to each other.
This community has been and continue to be one of the best I have ever had the pleasure of being a part of. The language itself has many things to love and appreciate about it, from the humane error messages to giving the people the power to express high performance code without sacrificing readability for the ones to come after us. But nothing, truly nothing, takes the cake as much as the community that's building it, answering questions, helping and loving each other. Every single day.
Congratulations everyone for 100,000 issues and PRs! And thank you for being you. Because Rust is Beautiful, for having you as part of it.
To the times we spent together and the many more to come!
– mathspy on the rust-lang/rust github
Thanks to Sean Chen 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.
Email list hosting is sponsored by The Rust Foundation
Discuss on r/rust
0 notes