Info
This post is auto-generated from RSS feed This Week in Rust. Source: This Week in Rust 576
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 X (formerly 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 and archives can be viewed at this-week-in-rust.org. If you find any errors in this week's issue, please submit a PR.
Want TWIR in your inbox? Subscribe here.
-Znext-solver=coherence
array::from_fn
in stable RustThis week's crate is augurs, a time-series toolkit for Rust with bindings to JS & Python.
Thanks to Ben Sully for the suggestion!
Please submit your suggestions and votes for next week!
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.
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 or through a PR to TWiR or by reaching out on X (formerly Twitter) or Mastodon!
Are you a new or experienced speaker looking for a place to share something cool? This section highlights events that are being planned and are accepting submissions to join their event as a speaker.
If you are an event organizer hoping to expand the reach of your event, please submit a link to the website through a PR to TWiR or by reaching out on X (formerly Twitter) or Mastodon!
488 pull requests were merged in the last week
rust_analyzer_settings
: force use of 'nightly' toolchainneeds-target-has-atomic
directive#![no_core]
cratesxform_ret_ty
for WF in the new solver to improve method winnowing//@ pretty-expanded
directiveDrop
and Destruct
Span
until codegencodegen_select
avr-rjmp-offset
on Windows for nowextern_crate
on current trait on crate mismatch errorsfind_best_leaf_obligation
Pin<T>
because it doesnt contain a ref-Zshare-generics
for inline(never)
functions-Zdump-mir-dataflow
clobber_abi
in RV32E and RV64E inline assembly##
typing_mode
mismatchparse_expr_bottom
adjust_fulfillment_errors
work with HostEffectPredicate
and const_conditions
compare_impl_item
into a query\'
in edition 2021+resolve_bound_vars
forbidden_lint_groups
in future-compat reportsclobber_abi
in AVR inline assemblycheck_consistency
: ensure target feature string makes some basic sensemacro_rules
when compiling the macroTlsFree
Context
so muchconst_maybe_uninit_write
extended_varargs_abi_support
ptr::fn_addr_eq
num_midpoint
featurethread::available_parallelism
for wasm32-wasip1-threadsBTreeSet
entry APIs to match HashSet
{Entry,VacantEntry}::insert_entry
carrying_add
sslice::copy_from_slice
unstably constconst_io_error!
as const_error!
pthread
-based synchronizationhome_dir()
<[T]>::get_many_mut()
info
cmd docsGIT_DIR
for bare repository compatibilityrequires
attribute accepts string literals for cmdsstatic
sc"example"
instead of unsafe code--rust-edition
#[repr(C)] struct
path
symbolbad_bit_mask
Fix false positive on proc macrosdoc_nested_refdefs
: new lint for suspicious list syntaxuseless_conversion
lintliteral_string_with_formatting_args
lintneedless_match
FP on if-letsshadow_unrelated
's behaviour with closuresmultipart_suggestion
for derivable_impls
rust-analyzer.cargo.sysrootQueryMetadata
dyn TypeFolder
Busy week with more PRs impacting performance than is typical. Luckily performance improvements outweighed regressions in real world benchmarks with the largest single performance gain coming from a change to no longer unconditionally do LLVM IR verification in debug builds which was just wasted work.
Triage done by @rylev. Revision range: 7db7489f..490b2cc0
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) |
0.5% | [0.2%, 1.9%] | 58 |
Regressions ❌ (secondary) |
1.1% | [0.2%, 5.1%] | 85 |
Improvements ✅ (primary) |
-2.3% | [-8.2%, -0.2%] | 116 |
Improvements ✅ (secondary) |
-2.5% | [-8.9%, -0.1%] | 55 |
All ❌✅ (primary) | -1.4% | [-8.2%, 1.9%] | 174 |
6 Regressions, 6 Improvements, 5 Mixed; 5 of them in rollups 49 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.
const_nonnull_new
#[no_mangle]
and #[export_name]
ErrorKind::FilesystemQuotaExceeded
from io_error_more
ErrorKind::CrossesDevices
from io_error_more
Rusty Events between 2024-12-04 - 2025-01-01 🦀
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
"self own" sounds like a rust thing
Thanks to Jacob Pratt 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