Skip to content

Commit 368aece

Browse files
authored
Merge branch 'master' into master
2 parents 2c018a9 + a3eb9af commit 368aece

File tree

2 files changed

+154
-6
lines changed

2 files changed

+154
-6
lines changed

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

Lines changed: 146 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,27 +30,58 @@ and just ask the editors to select the category.
3030
-->
3131

3232
### Official
33+
* [November project goals update](https://blog.rust-lang.org/2024/12/16/project-goals-nov-update.html)
34+
* [This Development-cycle in Cargo: 1.84](https://blog.rust-lang.org/inside-rust/2024/12/13/this-development-cycle-in-cargo-1.84.html)
35+
* [December 2024 Project Director Update](https://blog.rust-lang.org/inside-rust/2024/12/17/project-director-update.html)
3336

3437
### Foundation
3538

3639
### Newsletters
40+
* [This Month in Rust OSDev: November 2024](https://rust-osdev.com/this-month/2024-11/)
3741

3842
### Project/Tooling Updates
43+
* [hyper Roadmap 2025](https://seanmonstar.com/blog/hyper-roadmap-2025/)
44+
* [Bevy Fallible Systems, Bindless, and Immutable Components](https://thisweekinbevy.com/issue/2024-12-09-fallible-systems-bindless-and-immutable-components)
45+
* [Sequoia PGP: A Sapling Matures: Meet sq 1.0](https://sequoia-pgp.org/blog/2024/12/16/202412-sq-1.0/)
46+
* [Release 0.30.0 - egui_kittest and modals](https://github.com/emilk/egui/releases/tag/0.30.0)
47+
* [fish-shell 4.0b1, now in Rust](https://fishshell.com/blog/fish-4b/)
48+
* [Introducing Limbo: A complete rewrite of SQLite in Rust](https://turso.tech/blog/introducing-limbo-a-complete-rewrite-of-sqlite-in-rust)
49+
* [Streaming data analytics, Fluvio 0.14.0 release](https://www.fluvio.io/news/this-week-in-fluvio-0067)
50+
51+
- [Announcing Hex Display: A modern `xxd` alternative](https://users.rust-lang.org/t/announcing-hex-display-a-modern-alternative-to-xxd/122523)
52+
53+
* [Diesel: Window functions](https://blog.weiznich.de/blog/diesel-nl-net-grant-window-functions/)
54+
55+
* [Rerun 0.21.0 - Graph view, 3D Grid & UI/UX improvements](https://rerun.io/blog/graphs)
56+
57+
* [Introducing Fjädra — a Rust port of `d3-force` for graph layouts](https://github.com/grtlr/fjadra)
3958

4059
### Observations/Thoughts
60+
* [What are temporal and spatial memory safety?](https://blog.yoshuawuyts.com/temporal-spatial-memory-safety/)
61+
* [Reducing WASM binary size](https://www.warp.dev/blog/reducing-wasm-binary-size)
62+
* [Crash recovery in 256 bytes](https://cliffle.com/blog/exhubris-super/)
63+
* [Rust crate feature debugging](https://rustunit.com/blog/2024/12-16-rust-feature-debugging/)
64+
* [audio] [Building Rust: An interview with Nell Shamrell-Harrington](https://timclicks.dev/podcast/nell-shamrell-harrington)
4165

4266
### Rust Walkthroughs
43-
44-
- [Read the Code: Using Drop for Safety in Rust](https://v5.chriskrycho.com/journal/read-the-code/using-drop-for-safety-in-rust/)
45-
- [video] [Building a Lua package manager in Rust (Arabic)](https://youtu.be/YsupdHTAKDw)
67+
* [Read the Code: Using Drop Safely in Rust](https://v5.chriskrycho.com/journal/read-the-code/using-drop-safely-in-rust/)
68+
* [Thoughts on Rust hashing](https://purplesyringa.moe/blog/thoughts-on-rust-hashing/)
69+
* [Scheme to the Spec Part I: Concurrent Cycle Collection](https://maplant.com/2024-12-13-Scheme-to-the-Spec-Part-I:-Concurrent-Cycle-Collection.html)
70+
* [Solving Advent of Code at Compile Time with Rust Macros](https://doublefree.bearblog.dev/solving-advent-of-code-at-compile-time-with-rust-macros/)
71+
* [video] [Rust code reading: The thousands crate](https://www.youtube.com/watch?v=ITTj7ByNStE)
72+
* [video] [Building a Lua package manager in Rust (Arabic)](https://youtu.be/YsupdHTAKDw)
4673

4774
### Research
4875

4976
### Miscellaneous
77+
* [What is shift-left ⬅️ programming?](https://dev.to/szabgab/what-is-shift-left-programming-5601)
78+
* [Rust social status update 2024.12](https://rust.code-maven.com/rust-update-2024-12-17)
5079

5180
## Crate of the Week
5281

53-
<!-- COTW goes here -->
82+
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.
83+
84+
Thanks to [Remo Senekowitsch](https://users.rust-lang.org/t/crate-of-the-week/2704/1382) for the suggestion!
5485

5586
[Please submit your suggestions and votes for next week][submit_crate]!
5687

@@ -109,7 +140,112 @@ If you are an event organizer hoping to expand the reach of your event, please s
109140

110141
## Updates from the Rust Project
111142

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

114250
### Rust Compiler Performance Triage
115251

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

256392
# Quote of the Week
257393

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

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

tools/events/meetups.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
[
22
"https://www.meetup.com/8th-light-university/events/",
3+
"https://www.meetup.com/abra-rnd-solutions/events/",
34
"https://www.meetup.com/altow-academy/events/",
45
"https://www.meetup.com/ann-arbor-rust-meetup/events/",
56
"https://www.meetup.com/ardech-drom-dev/events/",
@@ -18,6 +19,7 @@
1819
"https://www.meetup.com/bevy-game-development/events/",
1920
"https://www.meetup.com/bitdevsla/events/",
2021
"https://www.meetup.com/blockchaincenter/events/",
22+
"https://www.meetup.com/blockchaincentersf/events/",
2123
"https://www.meetup.com/bordeaux-rust/events/",
2224
"https://www.meetup.com/boston-rust-meetup-25317522anphwzdw/events/",
2325
"https://www.meetup.com/bostonrust/events/",
@@ -84,12 +86,14 @@
8486
"https://www.meetup.com/indyrs/events/",
8587
"https://www.meetup.com/itgilde-cooperatie-amsterdam-unix-linux-meetups/events/",
8688
"https://www.meetup.com/java-user-group-hessen-jugh/events/",
89+
"https://www.meetup.com/jersey-city-classy-curious-coders-club-cooperative/events/",
8790
"https://www.meetup.com/johannesburg-rust-meetup/events/",
8891
"https://www.meetup.com/join-srug/events/",
8992
"https://www.meetup.com/just-code/events/",
9093
"https://www.meetup.com/kaibee/events/",
9194
"https://www.meetup.com/kansai-rust/events/",
9295
"https://www.meetup.com/kyoto-rust/events/",
96+
"https://www.meetup.com/lajugstudygroup/events/",
9397
"https://www.meetup.com/linuxing-in-london/events/",
9498
"https://www.meetup.com/longview-code-and-coffee/events/",
9599
"https://www.meetup.com/los-gatos-rust-reading-group/events/",
@@ -101,6 +105,7 @@
101105
"https://www.meetup.com/meetup-group-bxuhnetv/events/",
102106
"https://www.meetup.com/meetup-group-zgphbyet/events/",
103107
"https://www.meetup.com/meetup-paris-ecole-superieur-du-genie-informatique/events/",
108+
"https://www.meetup.com/miami-java-user-group/events/",
104109
"https://www.meetup.com/michigan-python/events/",
105110
"https://www.meetup.com/microsoft-reactor-london/events/",
106111
"https://www.meetup.com/microsoft-reactor-new-york/events/",
@@ -125,6 +130,7 @@
125130
"https://www.meetup.com/native-developers-in-ua/events/",
126131
"https://www.meetup.com/neighborhood-math-club/events/",
127132
"https://www.meetup.com/newspace-nyc/events/",
133+
"https://www.meetup.com/nj-code-coffee/events/",
128134
"https://www.meetup.com/oc-rust/events/",
129135
"https://www.meetup.com/ocaml-paris/events/",
130136
"https://www.meetup.com/opentechschool-berlin/events/",
@@ -151,6 +157,7 @@
151157
"https://www.meetup.com/rust-amsterdam/events/",
152158
"https://www.meetup.com/rust-amsterdam-group/events/",
153159
"https://www.meetup.com/rust-and-c-plus-plus-in-cardiff/events/",
160+
"https://www.meetup.com/rust-and-friends/events/",
154161
"https://www.meetup.com/rust-argentina/events/",
155162
"https://www.meetup.com/rust-atl/events/",
156163
"https://www.meetup.com/rust-atx/events/",
@@ -171,6 +178,7 @@
171178
"https://www.meetup.com/rust-czech-republic/events/",
172179
"https://www.meetup.com/rust-detroit/events/",
173180
"https://www.meetup.com/rust-dev-in-mountain-view/events/",
181+
"https://www.meetup.com/rust-dortmund/events/",
174182
"https://www.meetup.com/rust-dublin/events/",
175183
"https://www.meetup.com/rust-edi/events/",
176184
"https://www.meetup.com/rust-frankfurt/events/",

0 commit comments

Comments
 (0)