Warning
This post was published 203 days ago. The infomation described in this article may have changed.
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.
Arc<Mutex<T>>
- Katharina FeyThis week's crate is man-in-the-middle-proxy, a - surprise! - man in the middle proxy.
Thanks to Emanuele Em 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.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
376 pull requests were merged in the last week
./configure
)
point_at_expr_source_of_inferred_type
lower_impl_trait_in_trait_to_assoc_ty
associated_item_def_ids
for traits use an unstable option to also return associated types for RPITITstemporary_scope
twicecmpxchg16b_target_feature
Atomic*::from_ptr
Option::as_
(mut_
)slice
VecDeque::append
capacity overflow for ZSTspartial_cmp
to implement tuple lt
/le
/ge
/gt
CARGO_CFG_
vars for configs defined both with and without valuesparse
the default protocol for crates.iowhere
clause!
let_underscore_untyped
to restrictionlet_unit_value
when await
usedmultiple_unsafe_ops_per_block
array-size-threshold
config deserialization errormissing_docs_in_private_items
should cover only private itemsgenerate_function
to generate in different local cratereplace_or_with_or_else
assists more generally applicablereplace_match_with_if_let
applicability rangedbg!()
s in remove_dbg
A really quiet week with almost all regressions being due to noise in benchmarks that show "bimodality" in codegen that can cause swings in performance from one change to the other. The only true performance change was a two-line change by @nnethercote to remove a redundant function call which led to a 0.3% improvement in performance across roughly 15 benchmarks.
Triage done by @rylev. Revision range: 31f858d9..8f9e09ac
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) |
- | - | 0 |
Regressions ❌ (secondary) |
2.0% | [1.2%, 2.8%] | 8 |
Improvements ✅ (primary) |
-0.4% | [-0.7%, -0.2%] | 7 |
Improvements ✅ (secondary) |
-1.0% | [-1.8%, -0.1%] | 31 |
All ❌✅ (primary) | -0.4% | [-0.7%, -0.2%] | 7 |
7 Regressions, 8 Improvements, 2 Mixed; 7 of them in rollups 35 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.
From
Option::contains
and Result::contains
box_syntax
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-08 - 2023-04-05 🦀
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 much as i dislike the cargo-geiger concept, the name … kind of works
unsafe
is a lot like uranium. it’s just one more metal ore you can process, refine, and machine. it doesn’t combust in atmosphere, it doesn’t corrode or make weird acids. unless you go out of your way to make it dangerous you don’t even have to worry about critical masses. you can work with it pretty normally most of the timebut if you don’t know exactly what it is, what it does, and how to work with it, it will cause mysterious illnesses that only crop up long after you’ve stopped touching it
Thanks to Stephan Sokolow 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
🏷️ Rust_feed