@@ -45,7 +45,9 @@ and just ask the editors to select the category.
45
45
46
46
## Crate of the Week
47
47
48
- <!-- COTW goes here -->
48
+ This week's crate is [ irsenv] ( https://github.com/sysid/rs-env ) , a hierarchical environmant variable manager.
49
+
50
+ Thanks to [ sysid] ( https://users.rust-lang.org/t/crate-of-the-week/2704/1237 ) for the self-suggestion!
49
51
50
52
[ Please submit your suggestions and votes for next week] [ submit_crate ] !
51
53
@@ -67,7 +69,116 @@ If you are a Rust project owner and are looking for contributors, please submit
67
69
68
70
## Updates from the Rust Project
69
71
70
- <!-- Rust updates go here -->
72
+ 382 pull requests were [ merged in the last week] [ merged ]
73
+
74
+ [ merged ] : https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2023-09-04..2023-09-11
75
+
76
+ * [ move wasm32-wasi-preview1-threads target to Tier 2] ( https://github.com/rust-lang/rust/pull/115345 )
77
+ * [ ` -Cllvm-args ` usability improvement] ( https://github.com/rust-lang/rust/pull/115638 )
78
+ * [ debuginfo: add compiler option to allow compressed debuginfo sections] ( https://github.com/rust-lang/rust/pull/115358 )
79
+ * [ ` rustc_layout, rustc_abi ` : make sure the types are well-formed] ( https://github.com/rust-lang/rust/pull/115712 )
80
+ * [ abort if check nightly options failed on stable] ( https://github.com/rust-lang/rust/pull/115713 )
81
+ * [ add CL and CMD into to pdb debug info] ( https://github.com/rust-lang/rust/pull/113492 )
82
+ * [ add support to return value in StableMIR interface and not crash due to compilation error] ( https://github.com/rust-lang/rust/pull/115397 )
83
+ * [ allow ` large_assignments ` for Box/Arc/Rc initialization] ( https://github.com/rust-lang/rust/pull/115492 )
84
+ * [ allow redirecting subprocess stdout to our stderr etc. (redux)] ( https://github.com/rust-lang/rust/pull/114590 )
85
+ * [ avoid a ` source_span ` query when encoding Spans into query results] ( https://github.com/rust-lang/rust/pull/115657 )
86
+ * [ better Debug for ` Ty ` in smir] ( https://github.com/rust-lang/rust/pull/115605 )
87
+ * [ bubble up opaque ` <eq> ` opaque operations instead of picking an order] ( https://github.com/rust-lang/rust/pull/114586 )
88
+ * [ call ` LateLintPass::check_attribute ` from ` with_lint_attrs ` ] ( https://github.com/rust-lang/rust/pull/115739 )
89
+ * [ do not require associated types with Self: Sized to uphold bounds when confirming object candidate] ( https://github.com/rust-lang/rust/pull/115467 )
90
+ * [ don't ICE on associated type projection without feature gate in new solver] ( https://github.com/rust-lang/rust/pull/115519 )
91
+ * [ don't ICE when computing ctype's ` repr_nullable_ptr ` for possibly-unsized ty] ( https://github.com/rust-lang/rust/pull/115631 )
92
+ * [ don't report any errors in ` lower_intrinsics ` ] ( https://github.com/rust-lang/rust/pull/115602 )
93
+ * [ don't require ` Drop ` for ` [PhantomData<T>; N] ` where ` N ` and ` T ` are generic, if ` T ` requires ` Drop ` ] ( https://github.com/rust-lang/rust/pull/115527 )
94
+ * [ don't suggest dereferencing to unsized type] ( https://github.com/rust-lang/rust/pull/115629 )
95
+ * [ dont suggest use between ` use ` and cfg attr] ( https://github.com/rust-lang/rust/pull/115630 )
96
+ * [ emit error instead of ICE when optimized MIR is missing] ( https://github.com/rust-lang/rust/pull/115353 )
97
+ * [ enable incremental-relative-spans by default] ( https://github.com/rust-lang/rust/pull/115656 )
98
+ * [ explain why we can mutate the FPU control word] ( https://github.com/rust-lang/rust/pull/114813 )
99
+ * [ expose more information with DefId in smir] ( https://github.com/rust-lang/rust/pull/115534 )
100
+ * [ extract parallel operations in ` rustc_data_structures::sync ` into a new ` parallel ` submodule] ( https://github.com/rust-lang/rust/pull/115548 )
101
+ * [ fix ICE in ` improper_ctypes_definitions ` lint] ( https://github.com/rust-lang/rust/pull/115698 )
102
+ * [ fix Step Skipping Caused by Using the ` --exclude ` Option] ( https://github.com/rust-lang/rust/pull/115088 )
103
+ * [ fix ` homogeneous_aggregate ` not ignoring some ZST] ( https://github.com/rust-lang/rust/pull/115708 )
104
+ * [ fix error report for size overflow from transmute] ( https://github.com/rust-lang/rust/pull/115529 )
105
+ * [ fix overflow in array length computation] ( https://github.com/rust-lang/rust/pull/115335 )
106
+ * [ fix: return early when has tainted in mir-lint] ( https://github.com/rust-lang/rust/pull/115643 )
107
+ * [ implement fallback for effect param] ( https://github.com/rust-lang/rust/pull/115727 )
108
+ * [ implement refinement lint for RPITIT] ( https://github.com/rust-lang/rust/pull/115582 )
109
+ * [ implied bounds: do not ICE on unconstrained region vars] ( https://github.com/rust-lang/rust/pull/115559 )
110
+ * [ improve "associated type not found" diagnostics] ( https://github.com/rust-lang/rust/pull/115662 )
111
+ * [ improve ` AttrTokenStream ` ] ( https://github.com/rust-lang/rust/pull/115523 )
112
+ * [ improve diagnostic for generic params from outer items (E0401)] ( https://github.com/rust-lang/rust/pull/115744 )
113
+ * [ fix ` unnecessary_unsafe ` false positive] ( https://github.com/rust-lang/rust/pull/115587 )
114
+ * [ fix incorrect mutable suggestion information for binding in ref pattern like: ` let &b = a; ` ] ( https://github.com/rust-lang/rust/pull/115595 )
115
+ * [ lint node for ` private_bounds ` /` private_interfaces ` is the item which names the private type] ( https://github.com/rust-lang/rust/pull/115633 )
116
+ * [ lint on invalid usage of ` UnsafeCell::raw_get ` in reference casting] ( https://github.com/rust-lang/rust/pull/115166 )
117
+ * [ make if let guard parsing consistent with normal guards] ( https://github.com/rust-lang/rust/pull/115371 )
118
+ * [ make the deadlock panic clearly refer to a deadlock] ( https://github.com/rust-lang/rust/pull/115668 )
119
+ * [ make unknown/renamed/removed lints passed via command line respect lint levels] ( https://github.com/rust-lang/rust/pull/115387 )
120
+ * [ point out if a local trait has no implementations] ( https://github.com/rust-lang/rust/pull/115743 )
121
+ * [ preserve ASAN-related symbols during LTO] ( https://github.com/rust-lang/rust/pull/114946 )
122
+ * [ print the path of a return-position impl trait in trait when ` return_type_notation ` is enabled] ( https://github.com/rust-lang/rust/pull/115624 )
123
+ * [ remove the unhelpful let binding diag comes from ` FormatArguments ` ] ( https://github.com/rust-lang/rust/pull/114511 )
124
+ * [ replace ` rustc_data_structures ` dependency with ` rustc_index ` in ` rustc_parse_format ` ] ( https://github.com/rust-lang/rust/pull/115574 )
125
+ * [ suggest ` iter_mut() ` where trying to modify elements from ` .iter() ` ] ( https://github.com/rust-lang/rust/pull/115308 )
126
+ * [ support debuginfo for custom MIR] ( https://github.com/rust-lang/rust/pull/115540 )
127
+ * [ take ` &mut Results ` in ` ResultsVisitor ` ] ( https://github.com/rust-lang/rust/pull/115488 )
128
+ * [ use ` newtype_index ` for ` IntVid ` and ` FloatVid ` ] ( https://github.com/rust-lang/rust/pull/115634 )
129
+ * [ use relative positions inside a SourceFile] ( https://github.com/rust-lang/rust/pull/115507 )
130
+ * [ use the same DISubprogram for each instance of the same inlined function within a caller] ( https://github.com/rust-lang/rust/pull/115417 )
131
+ * [ represent MIR composite debuginfo as projections instead of aggregates] ( https://github.com/rust-lang/rust/pull/115252 )
132
+ * [ encode only MIR reachable from other crates] ( https://github.com/rust-lang/rust/pull/115306 )
133
+ * [ allow loading the SMIR for constants and statics] ( https://github.com/rust-lang/rust/pull/115749 )
134
+ * [ implement SMIR generic parameter instantiation] ( https://github.com/rust-lang/rust/pull/115532 )
135
+ * [ miri: catch function calls where the argument is caller-invalid / the return value callee-invalid] ( https://github.com/rust-lang/rust/pull/115608 )
136
+ * [ miri: use ` #!/usr/bin/env ` shebang] ( https://github.com/rust-lang/miri/pull/3056 )
137
+ * [ add optimized lock methods for ` Sharded ` and refactor ` Lock ` ] ( https://github.com/rust-lang/rust/pull/115388 )
138
+ * [ add ` FreezeLock ` type and use it to store ` Definitions ` ] ( https://github.com/rust-lang/rust/pull/115401 )
139
+ * [ use ` FreezeLock ` for ` CStore ` ] ( https://github.com/rust-lang/rust/pull/115711 )
140
+ * [ use ` Freeze ` for ` SourceFile ` ] ( https://github.com/rust-lang/rust/pull/115418 )
141
+ * [ span tweaks] ( https://github.com/rust-lang/rust/pull/115594 )
142
+ * [ use a specialized varint + bitpacking scheme for DepGraph encoding] ( https://github.com/rust-lang/rust/pull/110050 )
143
+ * [ add ` char::MIN ` ] ( https://github.com/rust-lang/rust/pull/114299 )
144
+ * [ stabilize ` io_error_other ` feature] ( https://github.com/rust-lang/rust/pull/115453 )
145
+ * [ hashbrown: make allocator not ` Clone ` ] ( https://github.com/rust-lang/hashbrown/pull/468 )
146
+ * [ codegen\_ gcc: fix const handling in ATT syntax] ( https://github.com/rust-lang/rustc_codegen_gcc/pull/330 )
147
+ * [ codegen\_ gcc: set the correct gimple output format] ( https://github.com/rust-lang/rustc_codegen_gcc/pull/328 )
148
+ * [ cargo-credential: change serialization of cache expiration] ( https://github.com/rust-lang/cargo/pull/12622 )
149
+ * [ cargo: Add styling to help output] ( https://github.com/rust-lang/cargo/pull/12578 )
150
+ * [ cargo: Make resolver behavior independent of package order] ( https://github.com/rust-lang/cargo/pull/12602 )
151
+ * [ cargo: error out if ` cargo clean --doc ` is mixed with ` -p ` ] ( https://github.com/rust-lang/cargo/pull/12637 )
152
+ * [ cargo: stabilize lints] ( https://github.com/rust-lang/cargo/pull/12648 )
153
+ * [ cargo: fix: don't print ` _TOKEN ` suggestion when not applicable] ( https://github.com/rust-lang/cargo/pull/12644 )
154
+ * [ cargo: fix: improve warning for both token & credential-provider] ( https://github.com/rust-lang/cargo/pull/12626 )
155
+ * [ rustdoc: add impl items from aliased type into sidebar] ( https://github.com/rust-lang/rust/pull/115682 )
156
+ * [ rustdoc: add missing "Aliased type" title in the sidebar] ( https://github.com/rust-lang/rust/pull/115752 )
157
+ * [ rustdoc: change syntax for anonymous functions set in JS] ( https://github.com/rust-lang/rust/pull/115669 )
158
+ * [ rustdoc: list matching impls on type aliases] ( https://github.com/rust-lang/rust/pull/115201 )
159
+ * [ rustdoc: render private fields in tuple ` struct ` as ` /* private fields */ ` ] ( https://github.com/rust-lang/rust/pull/115604 )
160
+ * [ rustdoc: show inner ` enum ` and ` struct ` in type definition for concrete type] ( https://github.com/rust-lang/rust/pull/114855 )
161
+ * [ rustfmt: Prefer ` light_rewrite_comment ` if it is not a doccomment] ( https://github.com/rust-lang/rustfmt/pull/5536 )
162
+ * [ rustfmt: fix checking if newline is needed before ` else ` in let-else statement] ( https://github.com/rust-lang/rustfmt/pull/5902 )
163
+ * [ clippy: ` implied_bounds_in_impls ` : include (previously omitted) associated types in suggestion] ( https://github.com/rust-lang/rust-clippy/pull/11459 )
164
+ * [ clippy: ` slow_vector_initialization ` : use the source span of ` vec![] ` macro and fix another FP] ( https://github.com/rust-lang/rust-clippy/pull/11451 )
165
+ * [ clippy: add suggestions for ` std_instead_of_core ` ] ( https://github.com/rust-lang/rust-clippy/pull/11456 )
166
+ * [ clippy: auto deref does not apply on union field] ( https://github.com/rust-lang/rust-clippy/pull/11477 )
167
+ * [ clippy: check binary operators and attributes in ` disallowed_macros ` ] ( https://github.com/rust-lang/rust-clippy/pull/11439 )
168
+ * [ clippy: ignore wildcards in function arguments and local bindings] ( https://github.com/rust-lang/rust-clippy/pull/11454 )
169
+ * [ clippy: preserve literals and range kinds in ` manual_range_patterns ` ] ( https://github.com/rust-lang/rust-clippy/pull/11462 )
170
+ * [ clippy: rename ` incorrect_impls ` to ` non_canonical_impls, ` move them to warn by default] ( https://github.com/rust-lang/rust-clippy/pull/11358 )
171
+ * [ rust-analyzer: add "Bind unused parameter" assist] ( https://github.com/rust-lang/rust-analyzer/pull/15524 )
172
+ * [ rust-analyzer: add ` into_to_qualified_from ` assist] ( https://github.com/rust-lang/rust-analyzer/pull/15573 )
173
+ * [ rust-analyzer: diagnose mismatched arg count for tuple ` struct ` patterns] ( https://github.com/rust-lang/rust-analyzer/pull/15578 )
174
+ * [ rust-analyzer: diagnose private fields in record constructor] ( https://github.com/rust-lang/rust-analyzer/pull/15584 )
175
+ * [ rust-analyzer: enable ` rust_analyzer ` for cfgs when code is being analyzed by rust-analyzer] ( https://github.com/rust-lang/rust-analyzer/pull/15528 )
176
+ * [ rust-analyzer: implement ` builtin#format_args, ` using rustc's ` format_args ` parser] ( https://github.com/rust-lang/rust-analyzer/pull/15559 )
177
+ * [ rust-analyzer: on type format '(', by adding closing ')' automatically] ( https://github.com/rust-lang/rust-analyzer/pull/15532 )
178
+ * [ rust-analyzer: parse builtin# syntax and add typechecking for ` builtin#offset_of ` expression] ( https://github.com/rust-lang/rust-analyzer/pull/15557 )
179
+ * [ rust-analyzer: clear native diagnostics on file closing] ( https://github.com/rust-lang/rust-analyzer/pull/15577 )
180
+ * [ rust-analyzer: disallow renaming of non-local items] ( https://github.com/rust-lang/rust-analyzer/pull/15232 )
181
+ * [ rust-analyzer: use crate name for ` CARGO_CRATE_NAME ` ] ( https://github.com/rust-lang/rust-analyzer/pull/15574 )
71
182
72
183
### Rust Compiler Performance Triage
73
184
@@ -273,7 +384,12 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
273
384
274
385
# Quote of the Week
275
386
276
- <!-- QOTW goes here -->
387
+ > 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.
388
+ > ` cargo-semver-checks ` stands on the shoulders of giants like ` rustc ` and ` rustdoc ` and [ Trustfall] ( https://github.com/obi1kenobi/trustfall ) . Remove any one of them (or even just ` rustc ` 's high-quality diagnostics!) and ` cargo-semver-checks ` wouldn't have been a viable project at all.
389
+
390
+ – [ Predrag Gruevski on /r/rust] ( https://www.reddit.com/r/rust/comments/16cj1mo/comment/jzjw4vk/?utm_source=share&utm_medium=web2x&context=3 )
391
+
392
+ Thanks to [ Vincent de Phily] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328/1466 ) for the suggestion!
277
393
278
394
[ Please submit quotes and vote for next week!] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328 )
279
395
0 commit comments