Skip to content

Commit e179065

Browse files
authored
Merge pull request #6202 from llogiq/twir-578
C/QotW and notable changes
2 parents 0101b76 + 721a78d commit e179065

File tree

1 file changed

+114
-3
lines changed

1 file changed

+114
-3
lines changed

draft/2024-12-18-this-week-in-rust.md

Lines changed: 114 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,9 @@ and just ask the editors to select the category.
7070

7171
## Crate of the Week
7272

73-
<!-- COTW goes here -->
73+
This week's crate is [cmd_lib](https://crates.io/crates/cmd_lib), a library of command-line macros and utilities to write shell-script like tasks easily in Rust.
74+
75+
Thanks to [Remo Senekowitsch](https://users.rust-lang.org/t/crate-of-the-week/2704/1382) for the suggestion!
7476

7577
[Please submit your suggestions and votes for next week][submit_crate]!
7678

@@ -129,7 +131,112 @@ If you are an event organizer hoping to expand the reach of your event, please s
129131

130132
## Updates from the Rust Project
131133

132-
<!-- Rust updates go here -->
134+
437 pull requests were [merged in the last week][merged]
135+
136+
[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2024-12-10..2024-12-17
137+
138+
* [(Re-)Implement `impl_trait_in_bindings`](https://github.com/rust-lang/rust/pull/134185)
139+
* [`rustc_borrowck`: Stop suggesting the invalid syntax `&mut raw const`](https://github.com/rust-lang/rust/pull/134244)
140+
* [`rustc_mir_dataflow` cleanups, including some renamings](https://github.com/rust-lang/rust/pull/133938)
141+
* [`rustc_target`: ppc64 target string fixes for LLVM 20](https://github.com/rust-lang/rust/pull/134115)
142+
* [add AST support for unsafe binders](https://github.com/rust-lang/rust/pull/134140)
143+
* [add unpolished, experimental support for AFIDT (async fn in dyn trait)](https://github.com/rust-lang/rust/pull/133122)
144+
* [allow `symbol_intern_string_literal` lint in test modules](https://github.com/rust-lang/rust/pull/134173)
145+
* [arbitrary self types v2: main compiler changes](https://github.com/rust-lang/rust/pull/132961)
146+
* [change `GetManyMutError` to match T-libs-api decision](https://github.com/rust-lang/rust/pull/133598)
147+
* [check for array lengths that aren't actually `usize`](https://github.com/rust-lang/rust/pull/134371)
148+
* [codegen `#[naked]` functions using global asm](https://github.com/rust-lang/rust/pull/128004)
149+
* [correctly handle comments in attributes in doctests source code](https://github.com/rust-lang/rust/pull/134260)
150+
* [don't ICE when encountering never in range pattern](https://github.com/rust-lang/rust/pull/134103)
151+
* [don't make a def id for `impl_trait_in_bindings`](https://github.com/rust-lang/rust/pull/134313)
152+
* [don't show the full linker args unless `--verbose` is passed](https://github.com/rust-lang/rust/pull/133633)
153+
* [don't use `AsyncFnOnce::CallOnceFuture` bounds for signature deduction](https://github.com/rust-lang/rust/pull/134017)
154+
* [encode coroutine-closures in SMIR](https://github.com/rust-lang/rust/pull/134295)
155+
* [exercise const trait interaction with default fields](https://github.com/rust-lang/rust/pull/134136)
156+
* [fix ICE on type error in promoted](https://github.com/rust-lang/rust/pull/134010)
157+
* [fix ICE when multiple supertrait substitutions need assoc but only one is provided](https://github.com/rust-lang/rust/pull/133392)
158+
* [fix `trimmed_def_paths` ICE in the function ptr comparison lint](https://github.com/rust-lang/rust/pull/134357)
159+
* [fix our `llvm::Bool` typedef to be signed, to match `LLVMBool`](https://github.com/rust-lang/rust/pull/134204)
160+
* [interpret: reduce usage of `TypingEnv::fully_monomorphized`](https://github.com/rust-lang/rust/pull/134058)
161+
* [jsondocck: parse, don't validate commands](https://github.com/rust-lang/rust/pull/133478)
162+
* [keep track of parse errors in `mod`s and don't emit resolve errors for paths involving them](https://github.com/rust-lang/rust/pull/133937)
163+
* [lint on combining `#[no_mangle]` and `#[export_name]`](https://github.com/rust-lang/rust/pull/131558)
164+
* [make `Copy` unsafe to implement for ADTs with `unsafe` fields](https://github.com/rust-lang/rust/pull/134008)
165+
* [make sure to use normalized ty for unevaluated const in default `struct` value](https://github.com/rust-lang/rust/pull/134314)
166+
* [modifies the index instruction from `gep [0 x %Type]` to `gep %Type`](https://github.com/rust-lang/rust/pull/134117)
167+
* [properly consider APITs for never type fallback ascription fix](https://github.com/rust-lang/rust/pull/134144)
168+
* [remove `Lexer`'s dependency on `Parser`](https://github.com/rust-lang/rust/pull/134192)
169+
* [remove queries from the driver interface](https://github.com/rust-lang/rust/pull/134302)
170+
* [rudimentary heuristic to insert parentheses when needed for RPIT overcaptures lint](https://github.com/rust-lang/rust/pull/134142)
171+
* [some asm! diagnostic adjustments and a papercut fix](https://github.com/rust-lang/rust/pull/134070)
172+
* [some trait method vs impl method signature difference diagnostic cleanups](https://github.com/rust-lang/rust/pull/134386)
173+
* [suggest using deref in patterns](https://github.com/rust-lang/rust/pull/132939)
174+
* [suppress field expr with generics error message if it's a method](https://github.com/rust-lang/rust/pull/134154)
175+
* [try to evaluate constants in legacy mangling](https://github.com/rust-lang/rust/pull/134081)
176+
* [tweak multispan rendering to reduce output length](https://github.com/rust-lang/rust/pull/134181)
177+
* [use SourceMap to load debugger visualizer files](https://github.com/rust-lang/rust/pull/134041)
178+
* [use a more precise span in `placeholder_type_error_diag`](https://github.com/rust-lang/rust/pull/134256)
179+
* [use newly added exceptions to non default branch warning](https://github.com/rust-lang/rust/pull/134089)
180+
* [validate `--skip` and `--exclude` paths](https://github.com/rust-lang/rust/pull/134209)
181+
* [validate self in host predicates correctly](https://github.com/rust-lang/rust/pull/134105)
182+
* [bounds-check with PtrMetadata instead of Len in MIR](https://github.com/rust-lang/rust/pull/133734)
183+
* [miri: TB Optimization: Skip subtrees based on the subtree's root node's permissions](https://github.com/rust-lang/miri/pull/4008)
184+
* [miri: `localtime_r`: deduplicate timezone name allocation](https://github.com/rust-lang/miri/pull/4069)
185+
* [miri: use clap in miri-script](https://github.com/rust-lang/miri/pull/4036)
186+
* [stabilize `const_nonnull_new`](https://github.com/rust-lang/rust/pull/134116)
187+
* [stabilize async closures](https://github.com/rust-lang/rust/pull/132706) (RFC [#3668](https://rust-lang.github.io/rfcs/3668-async-closures.html))
188+
* [stabilize the Rust 2024 prelude](https://github.com/rust-lang/rust/pull/134178)
189+
* [`UniqueRc` trait impls](https://github.com/rust-lang/rust/pull/133223)
190+
* [`std::net`: Solaris supports `SOCK_CLOEXEC` as well since 11.4](https://github.com/rust-lang/rust/pull/130361)
191+
* [add value accessor methods to `Mutex` and `RwLock`](https://github.com/rust-lang/rust/pull/133406)
192+
* [de-duplicate and improve definition of `core::ffi::c_char`](https://github.com/rust-lang/rust/pull/132975)
193+
* [run TLS destructors for wasm32-wasip1-threads](https://github.com/rust-lang/rust/pull/133472)
194+
* [wasi/fs: improve stopping condition for `<ReadDir` as `Iterator>::next`](https://github.com/rust-lang/rust/pull/133184)
195+
* [codegen\_gcc: stabilize `lang_tests_common` config parsing logic](https://github.com/rust-lang/rustc_codegen_gcc/pull/576)
196+
* [codegen\_gcc: use casts instead of bitcast between pointers and integers to fix issues when using the lld linker](https://github.com/rust-lang/rustc_codegen_gcc/pull/577)
197+
* [cargo: build-script: Pass `CARGO_CFG_FEATURE`](https://github.com/rust-lang/cargo/pull/14902)
198+
* [cargo: SourceId: use stable hash from rustc-stable-hash](https://github.com/rust-lang/cargo/pull/14917)
199+
* [cargo: base: Support bases in patches in virtual manifests](https://github.com/rust-lang/cargo/pull/14931)
200+
* [cargo: build-rs: Implicitly report rerun-if-env-changed for input](https://github.com/rust-lang/cargo/pull/14911)
201+
* [cargo: resolver: Don't report all versions as rejected](https://github.com/rust-lang/cargo/pull/14921)
202+
* [cargo: resolver: In errors, show rejected versions over alt versions](https://github.com/rust-lang/cargo/pull/14923)
203+
* [cargo: resolver: Report invalid index entries](https://github.com/rust-lang/cargo/pull/14927)
204+
* [cargo: resolver: Report unmatched versions, rather than saying no package](https://github.com/rust-lang/cargo/pull/14897)
205+
* [cargo: script: Don't override the release profile](https://github.com/rust-lang/cargo/pull/14925)
206+
* [cargo: a faster hash for ActivationsKey](https://github.com/rust-lang/cargo/pull/14915)
207+
* [cargo: implement `--depth workspace` for `cargo tree` command](https://github.com/rust-lang/cargo/pull/14928)
208+
* [cargo: `emit_serialized_unit_graph` uses the configured shell](https://github.com/rust-lang/cargo/pull/14926)
209+
* [rustdoc-search: fix mismatched path when parent re-exported twice](https://github.com/rust-lang/rust/pull/134231)
210+
* [rustdoc-search: handle `impl Into<X>` better](https://github.com/rust-lang/rust/pull/134277)
211+
* [rustdoc: fix self cmp](https://github.com/rust-lang/rust/pull/134214)
212+
* [clippy: allow `needless_option_take` to report for more cases](https://github.com/rust-lang/rust-clippy/pull/13684)
213+
* [clippy: better help message for `comparison_chain` lint](https://github.com/rust-lang/rust-clippy/pull/13762)
214+
* [clippy: correct `single_match` lint suggestion](https://github.com/rust-lang/rust-clippy/pull/13824)
215+
* [clippy: correct suggestion for `unnecessary_sort_by` in `no_std`](https://github.com/rust-lang/rust-clippy/pull/13836)
216+
* [clippy: correctly handle string indices in `literal_string_with_formatting_arg`](https://github.com/rust-lang/rust-clippy/pull/13841)
217+
* [clippy: detect shadowing in pattern field](https://github.com/rust-lang/rust-clippy/pull/13797)
218+
* [clippy: do not suggest using `Error` in `no_std` before Rust 1.81](https://github.com/rust-lang/rust-clippy/pull/13834)
219+
* [clippy: fix `must_use_unit` suggestion when there're multiple attributes](https://github.com/rust-lang/rust-clippy/pull/13830)
220+
* [clippy: fix `single_match` lint being emitted when it should not](https://github.com/rust-lang/rust-clippy/pull/13765)
221+
* [clippy: initial impl of `repr_packed_without_abi`](https://github.com/rust-lang/rust-clippy/pull/13398)
222+
* [rust-analyzer: add an assist to extract an expression into a constant](https://github.com/rust-lang/rust-analyzer/pull/18652)
223+
* [rust-analyzer: add diagnostic fix to remove unnecessary wrapper in type mismatch](https://github.com/rust-lang/rust-analyzer/pull/18458)
224+
* [rust-analyzer: preserve order of parameters in `extract_functions`](https://github.com/rust-lang/rust-analyzer/pull/18656)
225+
* [rust-analyzer: report unresolved idents for implicit captures in `format_args!()`](https://github.com/rust-lang/rust-analyzer/pull/18696)
226+
* [rust-analyzer: fix publish workflow link in manual](https://github.com/rust-lang/rust-analyzer/pull/18666)
227+
* [rust-analyzer: copied proc-macros not being cleaned up on exit](https://github.com/rust-lang/rust-analyzer/pull/18660)
228+
* [rust-analyzer: fix a panic with a diagnostics fix when a keyword is used as a field](https://github.com/rust-lang/rust-analyzer/pull/18700)
229+
* [rust-analyzer: fix path qualified auto-importing completions not working with re-exports](https://github.com/rust-lang/rust-analyzer/pull/18699)
230+
* [rust-analyzer: fix proc-macro dylib names on windows](https://github.com/rust-lang/rust-analyzer/pull/18693)
231+
* [rust-analyzer: fix sourceroot construction for virtual manifests](https://github.com/rust-lang/rust-analyzer/pull/18668)
232+
* [rust-analyzer: generate implementation with items even if snippet text edit is disabled](https://github.com/rust-lang/rust-analyzer/pull/18667)
233+
* [rust-analyzer: improve name suggestion for `destructure_tuple_binding`](https://github.com/rust-lang/rust-analyzer/pull/18695)
234+
* [rust-analyzer: panic when displaying generic params with defaults, again](https://github.com/rust-lang/rust-analyzer/pull/18675)
235+
* [rust-analyzer: swallow rustfmt parsing panics](https://github.com/rust-lang/rust-analyzer/pull/18663)
236+
* [rust-analyzer: use string literal contents as a name when extracting into variable](https://github.com/rust-lang/rust-analyzer/pull/18690)
237+
* [rust-analyzer: hash completion items to properly match them during /resolve](https://github.com/rust-lang/rust-analyzer/pull/18653)
238+
* [rust-analyzer: properly handle different defaults for severity of lints](https://github.com/rust-lang/rust-analyzer/pull/18466)
239+
* [rust-analyzer: show expansion errors in `expand_macro` feature](https://github.com/rust-lang/rust-analyzer/pull/18674)
133240

134241
### Rust Compiler Performance Triage
135242

@@ -275,7 +382,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
275382

276383
# Quote of the Week
277384

278-
<!-- QOTW goes here -->
385+
> She said yes!! (And so did I!)
386+
387+
[Amos on Mastodon](https://hachyderm.io/@fasterthanlime/113639047728482697) proving that Rustaceans *do* have a life outside of Rust. Congratulations, Amos!
388+
389+
Thanks to [Jacob Pratt](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1642) for the suggestion!
279390

280391
[Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328)
281392

0 commit comments

Comments
 (0)