2023-06-14
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
expand: prevent infinite loop in macro containing only "///"
diagnostics: do not suggest type name tweaks on type-inferred closure args
don't mention already-set fields in struct constructor missing field error
emit an error when return-type-notation is used with type/const params
fall back to bidirectional normalizes-to if no subst-relate candidate in alias-relate goal
fix ICE for while loop with assignment condition with LHS place expr
force all native libraries to be statically linked when linking a static binary
make GDB Python Pretty Printers loadable after spawning GDB, avoiding required rust-gdb
normalize in infcx instead of globally for Option::as_deref suggestion
remember names of cfg-ed out items to mention them in diagnostics
suggest using ptr::null_mut when user provided ptr::null to a function expecting ptr::null_mut
cargo: upgrade to gix v0.45 for multi-round pack negotiations
rustdoc: Fix infinite loop when retrieving impls for type alias
clippy: new lints:
excessive_nesting,
needless_if,
unnecessary_literal_unwrap,
redundant type annotations,
arc_with_non_send_or_sync,
min_ident_chars,
large_stack_frames
clippy: let_with_type_underscore: Don't emit on locals from procedural macros
clippy: missing_fields_in_debug: don't ICE when self type is a generic param
clippy: suspicious_else_formatting: Don't warn if there is a comment between else and curly bracket
clippy: type_repetition_in_bounds: Don't lint on derived code
clippy: unnecessary_to_owned: check that the adjusted type matches target
clippy: useless_vec: lint vec! invocations when a slice or an array would do
clippy: useless_vec: lint on vec![_] invocations that adjust to a slice
clippy: consider autoderef through user-defined Deref in eager_or_lazy
clippy: extend explicit_iter_loop and explicit_into_iter_loop
clippy: fix diverging_sub_expression not checking body of block
clippy: make cast_possible_wrap work correctly for 16 bit {u,i}size
rust-analyzer: derive source scope from syntax node to be transformed
rust-analyzer: exclude Markdown injection grammar from .vscodeignore
rust-analyzer: fix ci never running on nightly when proc-macro things change
rust-analyzer: implemeted lifetime transformation fot assists
rust-analyzer: infer return type for async function in generate_function
rust-analyzer: only generate trait bound for associated types in field types
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