This post is auto-generated from RSS feed This Week in Rust. Source: This Week in Rust 512
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's crate is irsenv, a hierarchical environmant variable manager.
Thanks to sysid for the self-suggestion!
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.
382 pull requests were merged in the last week
rustc_layout, rustc_abi: make sure the types are well-formed
large_assignmentsfor Box/Arc/Rc initialization
source_spanquery when encoding Spans into query results
<eq>opaque operations instead of picking an order
repr_nullable_ptrfor possibly-unsized ty
Tare generic, if
useand cfg attr
rustc_data_structures::syncinto a new
homogeneous_aggregatenot ignoring some ZST
let &b = a;
private_interfacesis the item which names the private type
UnsafeCell::raw_getin reference casting
iter_mut()where trying to modify elements from
FreezeLocktype and use it to store
cargo clean --docis mixed with
_TOKENsuggestion when not applicable
/* private fields */
structin type definition for concrete type
light_rewrite_commentif it is not a doccomment
elsein let-else statement
implied_bounds_in_impls: include (previously omitted) associated types in suggestion
slow_vector_initialization: use the source span of
vec!macro and fix another FP
non_canonical_impls,move them to warn by default
rust_analyzerfor cfgs when code is being analyzed by rust-analyzer
An interesting week. We saw a massive improvement to instruction-counts across over a hundred benchmarks, thanks to #110050 an improved encoding scheme for the dependency graphs that underlie incremental-compilation. However, these instruction-count improvements did not translate to direct cycle time improvements. We also saw an improvement to our artifact sizes due to #115306. Beyond that, we had a scattering of small regressions to instruction-counts that were justified because they were associated with bug fixes.
Triage done by @pnkfelix. Revision range: 15e52b05..7e0261e7
3 Regressions, 2 Improvements, 5 Mixed; 2 of them in rollups 84 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.
strand structural constants.
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
label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature
Rusty Events between 2023-09-13 - 2023-10-11 🦀
Please see the latest Who's Hiring thread on r/rust
It's very much a positive feedback loop: good tooling makes good tooling easier to build, so more of it gets built and the cycle repeats.
cargo-semver-checksstands on the shoulders of giants like
rustdocand Trustfall. Remove any one of them (or even just
rustc's high-quality diagnostics!) and
cargo-semver-checkswouldn't have been a viable project at all.
Thanks to Vincent de Phily for the suggestion!
Email list hosting is sponsored by The Rust Foundation🏷️ Rust_feed