Warning
This post was published 105 days ago. The infomation 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 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 mailtutan, a simulating SMTP server.
Thanks to Mohsen Alizadeh for the self-suggestion!
Please submit your suggestions and votes for next week!
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.
credential
commandsIf you are a Rust project owner and are looking for contributors, please submit tasks here.
346 pull requests were merged in the last week
#![cfg(FALSE)]
behaves on crate roottask::Waker::noop
windows_sys
type definitions for ARM32 manually<3.6
in x.pyloongarch64-unknown-none*
hidden_glob_reexports
#![doc(test(...)]
with literal parameter--cpu-features
when emptyextern "C"
in thread_local::fast_local
fix_*_builtin_expr
hacks on the writeback resultsmake_query
struct
constructor missing field error&self
and &mut self
in function signature to be mutable when taking &mut self
in closureopt_suggest_box_span
span for TAITunused_delims
struct
with ..
on both endsrender_tests::Renderer
rust-gdb
Option::as_deref
suggestionmissing_docs
for pub extern crate
cfg
-ed out items to mention them in diagnosticsrustc_incremental
and replaced with IndexMap/IndexSetscrape_region_constraints
RUST_BACKTRACE
for delayed bugscheck_pat_lit
ptr::null_mut
when user provided ptr::null
to a function expecting ptr::null_mut
clippy::cmp_nan
lintclippy::undropped_manually_drops
lintload
+store
instead of memcpy
for small integer arrays-
is given as output fileoffset_of!()
gix
v0.45 for multi-round pack negotiations[]
excessive_nesting
,
needless_if
,
unnecessary_literal_unwrap
,
redundant type annotations,
arc_with_non_send_or_sync
,
min_ident_chars
,
large_stack_frames
let_with_type_underscore
: Don't emit on locals from procedural macrosmissing_fields_in_debug
: don't ICE when self type is a generic paramredundant_closure
: special case inclusive rangessuspicious_else_formatting
: Don't warn if there is a comment between else and curly brackettype_repetition_in_bounds
: Don't lint on derived codeunnecessary_to_owned
: check that the adjusted type matches targetuseless_vec
: lint vec!
invocations when a slice or an array would douseless_vec
: lint on vec![_]
invocations that adjust to a sliceDeref
in eager_or_lazy
as_conversions
in proc macrosexplicit_iter_loop
and explicit_into_iter_loop
diverging_sub_expression
not checking body of blockuseless_vec
suggestion in for _ in vec![..]
numeric_literal
unnecessary_cast
unnecessary_cast
cast_possible_wrap
work correctly for 16 bit {u,i}sizeformat_args
expansiongenerate_function
Our build pipeline got sped up by PR #112012, which side-steps one of the rustc rebuilds we were suffering with before. (There is further potential speed-up by caching LLVM, as noted by on that PR.) Other than that, various small regressions that are largely noise, as well as one unexpected increase in binary sizes from PR #109005 that we should follow up on.
Triage done by @pnkfelix. Revision range: adc719d7..4bd4e2ea
7 Regressions, 3 Improvements, 5 Mixed; 5 of them in rollups 46 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.
T: Sized
bounds on BufReader<T>
, BufWriter<T>
and LineWriter<T>
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.
Rusty Events between 2023-06-14 - 2023-07-12 🦀
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
Alas this week remains quoteless for lack of suggestions.
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