Info
This post is auto-generated from RSS feed This Week in Rust. Source: This Week in Rust 577
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 include-utils, a more powerful replacement for the standard library's include_str
macro.
Thanks to Aleksey Sidorov 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.
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.
No Calls for participation were submitted this week.
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.x
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!
462 pull requests were merged in the last week
dataflow_const_prop
: do not eval a ptr address in SwitchIntfn_sig_for_fn_abi
should return a ty::FnSig
, no need for a binderrust_for_linux
: -Zreg-struct-return commandline flag for X86EarlyContextAndPass
allocate_bytes
and refactor allocate_str
in InterpCx for raw byte…opaque type not constrained
errors in the presence of other errorsself
has erroneous typeasync_trait_bounds
--json-output
properlyTagEncoding::Niche
docs, sanity check, and UB checksdefault_field_values
featureSymbol::intern
on a string literal-l
and #[link(..)]
into tests/ui/link-native-libs
confirm_object_candidate
PassMode::Direct
for aggregates on wasm when using the C ABI~const
trait specializationadjust_for_branches
probe_adt
sysroot_target_{bin,lib}dir
handlinghir_id
for array const arg infersanonsocket_read
simd_relaxed_fma
MixedBitSet
const_collections_with_hasher
and build_hasher_default_const_new
const_{size,align}_of_val
noop_waker
std::io::ErrorKind::CrossesDevices
std::io::ErrorKind::QuotaExceeded
core::arch::breakpoint
and testfmt::FormattingOptions
docs(fingerprint)
: cargo-rustc extra flags do not affect the metadatafeat(build-rs)
: Add the 'error' directivefix(add)
: Don't select yanked versions when normalizing namesfix(build-rs)
: Correctly refer to the item in assertfix(build-std)
: determine root crates by target spec std:bool
fix(fingerprint)
: Don't throwaway the cache on RUSTFLAGS changesfix(fix)
: Migrate workspace dependenciestest(build-std)
: make mock-std closer to real world'cargo_cfg_debug_assertions'
Path::push
to construct remap-path-prefixclean::Attributes
issue-\d+.rs
tests to have meaningful names (part 10)set_back_info
to restore_module_data
doc_lazy_continuation
: Correctly count indent with backslashesprecedence
for bitmasking and shiftas *const _
and as *mut _
pointer castsAsyncFnX
traitsFnDef
s to fn pointers even if they are the same, if they are subtypes<
typing handler againenum
variant in patternsSyntaxEditor
add_turbo_fish
to SyntaxEditor
introduce_named_generic
Assist to Use SyntaxFactory
sort_items
Assist to Use SyntaxFactory
A pretty quiet week, with both few PRs landed and no large changes in performance.
Triage done by @simulacrum. Revision range: 490b2cc0..1b3fb316
0 Regressions, 0 Improvements, 7 Mixed; 4 of them in rollups 25 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.
--doctest-compilation-args
option to add compilation flags to doctest compilationRusty Events between 2024-12-11 - 2025-01-08 🦀
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
Memory-safe implementations of PNG (png, zune-png, wuffs) now dramatically outperform memory-unsafe ones (libpng, spng, stb_image) when decoding images.
Rust png crate that tops our benchmark shows 1.8x improvement over
libpng
on x86 and 1.5x improvement on ARM.
Thanks to Anton Fetisov 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