2023-09-20
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.
Breaking Tradition: Why Rust Might Be Your Best First Language
Sifting through crates.io for malware with OSSF Package Analysis
[audio] What's New in Rust 1.68 and 1.69
This week's crate is RustQuant, a crate for quantitative finance.
Thanks to avhz 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.
ockam_app create behind a feature flagIf you are a Rust project owner and are looking for contributors, please submit tasks here.
342 pull requests were merged in the last week
#[diagnostic::on_unimplemented] without filtersrepr(transparent): it's fine if the one non-1-ZST field is a ZSTexplicit_predicates_of to SMIRi686-pc-windows-gnullvm triplereachable_set on diskunsafe_op_in_unsafe_fn to be warn-by-default from edition 2024ty::Const through valtreesstd::primitive doc: homogenous → homogeneous#![feature(no_coverage)]PadAdapter::write_char.rmeta file in dep-info have correct name (lib prefix)ty::Const debug printing less verboseuseless_ptr_null_checks smarter about some std functionsrequired_consts check to general post-mono-check functionHasTypeFlagsVisitorverbose_generic_activity_with_argno_coverage to coverage(off)ExprField for lint levelsSaturating typeconst_transmute_copyDebug impl for ascii::Char match that of charminmax{,_by,_by_key} functions to core::cmpStep for IP addressesthread::sleep_untilcredential-alias shadowingRegistryOrIndex enum to replace two booleans#[doc(hidden)] functions in clippy doc lintsextra_unused_type_parameters: Fix edge case FP for parameters in where boundsfilter_map_bool_then: include multiple derefs from adjustmentslen_without_is_empty: follow type alias to find inherent is_empty methodused_underscore_bindings: respect lint levels on the binding definitionuseless_conversion: don't lint if type parameter has unsatisfiable bounds for .into_iter() receiverlet_unit_value on async fn argsu64::try_from(<u128>)transmute_null_to_fn on chain of castsfilter_map_bool_then with a bool referencecollect_ast_format_args/find_format_argsredundant_as_str lintbyref checking for the guard's localunnecessary_map_on_constructor lintpath_ends_with_extneedless_borrow into two lints"above_whole_item" breaking lensesRusty Events between 2023-09-20 - 2023-10-18 🦀
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
This is the first programming language I've learned that makes it so easy to make test cases! It's actually a pleasure to implement them.
Thanks to Moy2010 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