Warning
This post was published 59 days ago. The information 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 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 trait-gen, an attribute macro to generate the trait implementations for several types without needing custom declarative macros, code repetition, or blanket implementations.
Thanks to Luke Peterson 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.
No Calls for papers or presentations were submitted this week.
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!
464 pull requests were merged in the last week
rustc_abi
compile on stable againoptimize
attribute applied to things other than methods/functions/c…rust_for_linux: -Zregparm=<N>
commandline flag for X86rustc_llvm
: Fix flattened CLI args&pin (mut|const) T
type position sugar#[deny]
inside #[forbid]
as a no-opllvm_abiname
for RISC-V targetsskip-filecheck
LayoutCalculatorError
ty::Const::{try_}eval*
Cache
has been populatedon_unimplemented
message for negative traitsstruct
with field errors into another struct
is_impossible_associated_item
cfg(target(..))
compactunsupported_calling_conventions
a hard errorextern "C"
frames to be executedconst fn
vptr
for empty/auto traitssrc/tools/unicode-table-generator
as a runnable toolepoll_ctl
: throw unsupported error on unsupported opcodef16
and f128
ThinVec
for PredicateObligation storageresult_ffi_guarantees
-Znext-solver=coherence
againfrom_ref
and from_mut
constructors to core::ptr::NonNull
must_use
to CommandExt::exec
thread_local_inner!
LazyCell::into_inner
constBox::default
and Arc::default
to construct more types in placeconst_pin
core::fmt
macrosIndexRange
once_box
block_until_ready
returns early when work is still pendingfor<'a> async
correctlycompile_rustfmt
rewritestyle_edition=2027
&str
returnmanual_is_power_of_two
to pedantic
manual_bits
in any macro invocationPosition::character
to line lengthsafe_kw
in extern blockssafe
as a contextual keywordSome tidy improvements from switching to next generation trait solver (solely for coherence checking) and from simplifying our dataflow analysis framework. There were some binary size regressions associated with PR 126557 (adding #[track_caller]
to allocating methods of Vec
and VecDeque
), which I have handed off to T-libs to choose whether to investigate further.
Triage done by @pnkfelix. Revision range: 5ceb623a..3e33bda0
0 Regressions, 3 Improvements, 6 Mixed; 3 of them in rollups 47 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<&mut {slice}>
1 for Box/Rc/Arc<{slice}>
const_arguments_as_str
Ipv6Addr::is_unique_local
and Ipv6Addr::is_unicast_link_local
std::os::darwin
publicconst_char_encode_utf16
{u8,i8,...}::isqrt
--print host-triple
to print host target triple&T
to &mut T
and &T
to &UnsafeCell<T>
transmutesstatic mut
Rusty Events between 2024-10-23 - 2024-11-20 🦀
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
Your problem is that you’re trying to borrow from the dead.
Thanks to Maciej Dziardziel 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