Warning
This post was published 169 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.
This week's crate is layoutparser-ort, a simplified port of LayoutParser for ML-based document layout element detection.
Despite there being no suggestions, llogiq is reasonably happy with his choice. Are you?
No matter what your answer is, 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.
No Calls for participation in projects 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.
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!
308 pull requests were merged in the last week
-Znext-solver
: eagerly normalize when adding goalsfn_arg_sanity_check
: fix panic message--print=check-cfg
to get the expected configs-Zfixed-x18
&raw*
note_and_explain_type_err
value <= 0xFFFF_FF00
conditions_num
to num_conditions
Const
's ty in super_combine_const
dropping_copy_types
tail
in lower_stmts
char
into string literalscheck_type_bounds
in new solverneeds_async_drop
in rustc and optimize async drop gluenon_local_definitions
lintProofTreeBuilder
actually generic over Interner
body_owned_by
return the Body
instead of just the BodyId
repr(packed)
vectors work with SIMD intrinsicslint_dropping_references lint_forgetting_copy_types lint_forgetting_references
give suggestion if possiblenon-needs_drop drop_in_place
in vtablesFulfillmentError
generation to avoid doing extra work in the new solverCVarArgs
in parse_ty_for_where_clause
--emit foo
in json artifact notificationstranslate_args
in the new solverrepr(packed,simd)
→ repr(simd)
TypeTrace
checked_ilog
loop{Closure,Coroutine,CoroutineClosure}Args
and friends to rustc_type_ir
Fn
traitsrepr(packed(1))
IpvNAddr::
{BITS
, to_bits
, from_bits
} (ip_bits
)custom_code_classes_in_docs
featureconst_binary_heap_constructor
std::env::
{set_var
, remove_var
} unsafe in edition 2024integer_sign_cast
PassMode::Direct
for args in C abiptr::from_raw_parts
std::pal::unix::thread
fetching min stack size on netbsdptr::metadata
f32::midpoint
to upcast to f64--config net.git-fetch-with-cli=true
is respectedmany_single_char_names
: deduplicate diagnosticsneedless_character_iteration
lintmaybe_misused_cfg
and mismatched_target_os
indexing_slicing
for custom Index
implsredundant_closure
suggesting incorrect code with F: Fn()
non_canonical_impls
skip proc marcoderef_addrof
lintstr_to_string
machine-applicableFunction::fn_ptr_type(…)
for obtaining name-erased function type#[rustc_deprecated_safe_2024]
functions as unsafeextract_expressions_from_format_string
if snippets are supportedcheck_diff
(Skeleton)with_capacity
in rewrite_path
A quiet week; we did have one quite serious regression (#115105, "enable DestinationPropagation by default"), but it was shortly reverted (#125794). The only other PR identified as potentially problematic was rollup PR #125824, but even that is relatively limited in its effect.
Triage done by @pnkfelix. Revision range: a59072ec..1d52972d
3 Regressions, 5 Improvements, 6 Mixed; 4 of them in rollups 57 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.
Rusty Events between 2024-06-05 - 2024-07-03 🦀
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
Every PR is Special™
– Hieyou Xu describing being on t-compiler review rotation
Sadly, there was no suggestion, so llogiq came up with something hopefully suitable.
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