Info
This post is auto-generated from RSS feed This Week in Rust. Source: This Week in Rust 512
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 irsenv, a hierarchical environmant variable manager.
Thanks to sysid 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.
actions/cache
directivescheck_versions
CI jobmerchant_key_store
If you are a Rust project owner and are looking for contributors, please submit tasks here.
382 pull requests were merged in the last week
-Cllvm-args
usability improvementrustc_layout, rustc_abi
: make sure the types are well-formedlarge_assignments
for Box/Arc/Rc initializationsource_span
query when encoding Spans into query resultsTy
in smir<eq>
opaque operations instead of picking an orderLateLintPass::check_attribute
from with_lint_attrs
repr_nullable_ptr
for possibly-unsized tylower_intrinsics
Drop
for [PhantomData<T>; N]
where N
and T
are generic, if T
requires Drop
use
and cfg attrrustc_data_structures::sync
into a new parallel
submoduleimproper_ctypes_definitions
lint--exclude
Optionhomogeneous_aggregate
not ignoring some ZSTAttrTokenStream
unnecessary_unsafe
false positivelet &b = a;
private_bounds
/private_interfaces
is the item which names the private typeUnsafeCell::raw_get
in reference castingreturn_type_notation
is enabledFormatArguments
rustc_data_structures
dependency with rustc_index
in rustc_parse_format
iter_mut()
where trying to modify elements from .iter()
&mut Results
in ResultsVisitor
newtype_index
for IntVid
and FloatVid
#!/usr/bin/env
shebangSharded
and refactor Lock
FreezeLock
type and use it to store Definitions
FreezeLock
for CStore
Freeze
for SourceFile
char::MIN
io_error_other
featureClone
cargo clean --doc
is mixed with -p
_TOKEN
suggestion when not applicablestruct
as /* private fields */
enum
and struct
in type definition for concrete typelight_rewrite_comment
if it is not a doccommentelse
in let-else statementimplied_bounds_in_impls
: include (previously omitted) associated types in suggestionslow_vector_initialization
: use the source span of vec![]
macro and fix another FPstd_instead_of_core
disallowed_macros
manual_range_patterns
incorrect_impls
to non_canonical_impls,
move them to warn by defaultinto_to_qualified_from
assiststruct
patternsrust_analyzer
for cfgs when code is being analyzed by rust-analyzerbuiltin#format_args,
using rustc's format_args
parserbuiltin#offset_of
expressionCARGO_CRATE_NAME
An interesting week. We saw a massive improvement to instruction-counts across over a hundred benchmarks, thanks to #110050 an improved encoding scheme for the dependency graphs that underlie incremental-compilation. However, these instruction-count improvements did not translate to direct cycle time improvements. We also saw an improvement to our artifact sizes due to #115306. Beyond that, we had a scattering of small regressions to instruction-counts that were justified because they were associated with bug fixes.
Triage done by @pnkfelix. Revision range: 15e52b05..7e0261e7
3 Regressions, 2 Improvements, 5 Mixed; 2 of them in rollups 84 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.
<const>
to include str
and structural constants.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-09-13 - 2023-10-11 🦀
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
It's very much a positive feedback loop: good tooling makes good tooling easier to build, so more of it gets built and the cycle repeats.
cargo-semver-checks
stands on the shoulders of giants likerustc
andrustdoc
and Trustfall. Remove any one of them (or even justrustc
's high-quality diagnostics!) andcargo-semver-checks
wouldn't have been a viable project at all.
Thanks to Vincent de Phily 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