Info
This post is auto-generated from RSS feed This Week in Rust. Source: This Week in Rust 581
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.
This week's crate is terminal-colorsaurus, a small library to detect whether the terminal is in light or dark mode.
Thanks to Tau for the self-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!
375 pull requests were merged in the last week
enum DISCR_*
to static const u64
to allow for inspection via LLDBObligationCause
construction tweaks in typeckgeneric_assert
Constify methods used by the formatting systemcg_llvm
: Use constants for DWARF opcodes, instead of FFI callsrustc_intrinsic
: support functions without bodyadd_move_error_suggestions
use the HIR rather than SourceMap
backtrace
feature in opt-distHostEffectPredicate
in the new solver_
) suggestions in const
s and statics
windows_registry::find_tool
TyKind::Error
when there are unconstrained non-lifetime (ty/const) impl paramsimpl Default
of type where all fields have defaultsstatic_mut_refs
lintSelectionError
for ConstArgHasType
in new solver fulfillrustc_box
into an intrinsicPostBorrowckAnalysis
in check_coroutine_obligations
slice::reverse
unstably constwrite_all
callto_digit
: avoid unnecessary casts to u64bool::select_unpredictable
https::self_signed_should_fail
for macosrerun-if-env-changed
allowed_through_unstable_modules
as deprecationclippy::redundant_locals
is not a correctness lintneedless_continue
: lint if the last stmt in loop is continue
recurisvelyIterator::last()
on DoubleEndedIterator
is_empty
for len_zero
lintmissing_const_for_fn
for testsslow_vector_initialization
suggestionuseless_vec
suggestion if the macro does not contain code commentsrustc_test
metrics againCoercePointee
derive#[test]
was unavailablerustc_intrinsic
safety correctlyVec
instead of as a treeA quiet week with not much going on. A small regression was caused by a bugfix related to traits, but it was somewhat offset by a cargo update that brought a small perf. win.
Triage done by @kobzol. Revision range: 93722f7e..0f1e965f
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) |
0.4% | [0.1%, 1.1%] | 20 |
Regressions ❌ (secondary) |
0.4% | [0.1%, 2.5%] | 19 |
Improvements ✅ (primary) |
-0.4% | [-1.6%, -0.2%] | 8 |
Improvements ✅ (secondary) |
-1.3% | [-1.7%, -0.2%] | 13 |
All ❌✅ (primary) | 0.1% | [-1.6%, 1.1%] | 28 |
0 Regressions, 2 Improvements, 4 Mixed; 4 of them in rollups 51 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.
float_next_up_down
Impl TryFrom<Vec<u8>> for String
struct FromBytesWithNulError
into enumRusty Events between 2025-01-08 - 2025-02-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
Also, there is often a trade-off between accuracy and education. For example, when I correct my toddler that the Sun is actually not moving, but we are rotating. That's wrong, the Sun is moving, but arguably less wrong than his impression. (I once tried to give him the full explanation, but halfway through he ran away to play with his trains.)
Not that readers of the Rust book are toddlers, but the principle generalizes in my experience.
– Andrew Gallant a.k.a. @BurntSushi on rust-users
Thanks to Aleksander Krauze for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, U007D, joelmarcey, mariannegoldin, bennyvasquez, bdillo
Email list hosting is sponsored by The Rust Foundation
🏷️ Rust_feed