Skip to content

Commit 98dfa2b

Browse files
committed
C/QotW and notable changes
1 parent 97e614f commit 98dfa2b

File tree

1 file changed

+100
-3
lines changed

1 file changed

+100
-3
lines changed

draft/2024-10-23-this-week-in-rust.md

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

5050
## Crate of the Week
5151

52-
<!-- COTW goes here -->
52+
This week's crate is [trait-gen](https://crates.io/crates/trait-gen), an attribute macro to generate the trait implementations for several types without needing custom declarative macros, code repetition, or blanket implementations.
53+
54+
Thanks to [Luke Peterson](https://users.rust-lang.org/t/crate-of-the-week/2704/1358) for the suggestion!
5355

5456
[Please submit your suggestions and votes for next week][submit_crate]!
5557

@@ -100,7 +102,98 @@ If you are an event organizer hoping to expand the reach of your event, please s
100102

101103
## Updates from the Rust Project
102104

103-
<!-- Rust updates go here -->
105+
464 pull requests were [merged in the last week][merged]
106+
107+
[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2024-10-15..2024-10-22
108+
109+
* [make `rustc_abi` compile on stable again](https://github.com/rust-lang/rust/pull/131997)
110+
* [`optimize` attribute applied to things other than methods/functions/c…](https://github.com/rust-lang/rust/pull/131814)
111+
* [`rust_for_linux: -Zregparm=<N>` commandline flag for X86](https://github.com/rust-lang/rust/pull/130432)
112+
* [`rustc_llvm`: Fix flattened CLI args](https://github.com/rust-lang/rust/pull/131805)
113+
* [add `&pin (mut|const) T` type position sugar](https://github.com/rust-lang/rust/pull/130635)
114+
* [add getentropy for RTEMS](https://github.com/rust-lang/rust/pull/131774)
115+
* [added more scenarios where comma to be removed in the function arg](https://github.com/rust-lang/rust/pull/126588)
116+
* [allow `#[deny]` inside `#[forbid]` as a no-op](https://github.com/rust-lang/rust/pull/121560)
117+
* [allow dropping dyn principal](https://github.com/rust-lang/rust/pull/131857)
118+
* [always specify `llvm_abiname` for RISC-V targets](https://github.com/rust-lang/rust/pull/131807)
119+
* [autodiff Upstreaming - enzyme frontend](https://github.com/rust-lang/rust/pull/129458)
120+
* [change orphan hint from "only" to "any uncovered type inside..."](https://github.com/rust-lang/rust/pull/128391)
121+
* [check for filecheck directives in files marked `skip-filecheck`](https://github.com/rust-lang/rust/pull/131927)
122+
* [compiler: adopt rust-analyzer impls for `LayoutCalculatorError`](https://github.com/rust-lang/rust/pull/131942)
123+
* [compiler: error on layout of enums with invalid reprs](https://github.com/rust-lang/rust/pull/131843)
124+
* [compiler: use LLVM's Comdat support](https://github.com/rust-lang/rust/pull/131876)
125+
* [continue to get rid of `ty::Const::{try_}eval*`](https://github.com/rust-lang/rust/pull/130950)
126+
* [coverage: make counter creation handle node/edge counters more uniformly](https://github.com/rust-lang/rust/pull/131918)
127+
* [default to the medium code model on OpenHarmony LoongArch target](https://github.com/rust-lang/rust/pull/131874)
128+
* [delay ambiguous intra-doc link resolution after `Cache` has been populated](https://github.com/rust-lang/rust/pull/131691)
129+
* [do not run test where it cannot run](https://github.com/rust-lang/rust/pull/131835)
130+
* [don't check unsize goal in MIR validation when opaques remain](https://github.com/rust-lang/rust/pull/130989)
131+
* [don't report `on_unimplemented` message for negative traits](https://github.com/rust-lang/rust/pull/131701)
132+
* [don't report bivariance error when nesting a `struct` with field errors into another `struct`](https://github.com/rust-lang/rust/pull/131754)
133+
* [dont ICE when computing coverage of synthetic async closure body](https://github.com/rust-lang/rust/pull/131802)
134+
* [dont consider predicates that may hold as impossible in `is_impossible_associated_item`](https://github.com/rust-lang/rust/pull/131840)
135+
* [enable XRay instrumentation for LoongArch Linux targets](https://github.com/rust-lang/rust/pull/131818)
136+
* [fix coherence error for very large tuples™](https://github.com/rust-lang/rust/pull/132001)
137+
* [fix range misleading field access](https://github.com/rust-lang/rust/pull/131537)
138+
* [handle gracefully true/false in `cfg(target(..))` compact](https://github.com/rust-lang/rust/pull/131771)
139+
* [implement edition 2024 match ergonomics restrictions](https://github.com/rust-lang/rust/pull/131381)
140+
* [make `unsupported_calling_conventions` a hard error](https://github.com/rust-lang/rust/pull/129935)
141+
* [make destructors on `extern "C"` frames to be executed](https://github.com/rust-lang/rust/pull/129582)
142+
* [make some float methods unstable `const fn`](https://github.com/rust-lang/rust/pull/130568)
143+
* [make sure that outer opaques capture inner opaques's lifetimes even with precise capturing syntax](https://github.com/rust-lang/rust/pull/131789)
144+
* [never emit `vptr` for empty/auto traits](https://github.com/rust-lang/rust/pull/131864)
145+
* [register `src/tools/unicode-table-generator` as a runnable tool](https://github.com/rust-lang/rust/pull/131647)
146+
* [remove invalid help diagnostics for const pointer](https://github.com/rust-lang/rust/pull/127675)
147+
* [return values larger than 2 registers using a return area pointer](https://github.com/rust-lang/rust/pull/131211)
148+
* [setting up indirect access to external data for loongarch64-linux-{musl,ohos}](https://github.com/rust-lang/rust/pull/131583)
149+
* [try to improve error messages involving aliases in the solver](https://github.com/rust-lang/rust/pull/131699)
150+
* [warn less about non-exhaustive in ffi](https://github.com/rust-lang/rust/pull/116863)
151+
* [miri: `epoll_ctl`: throw unsupported error on unsupported opcode](https://github.com/rust-lang/miri/pull/3982)
152+
* [miri: android: added support for prctl handling thread names](https://github.com/rust-lang/miri/pull/3899)
153+
* [miri: improve support for `f16` and `f128`](https://github.com/rust-lang/miri/pull/3977)
154+
* [add fast-path when computing the default visibility](https://github.com/rust-lang/rust/pull/131686)
155+
* [use `ThinVec` for PredicateObligation storage](https://github.com/rust-lang/rust/pull/131422)
156+
* [finish stabilization of `result_ffi_guarantees`](https://github.com/rust-lang/rust/pull/130628)
157+
* [stabilize Strict Provenance and Exposed Provenance APIs](https://github.com/rust-lang/rust/pull/130350)
158+
* [stabilize `-Znext-solver=coherence` again](https://github.com/rust-lang/rust/pull/130654)
159+
* [add `from_ref` and `from_mut` constructors to `core::ptr::NonNull`](https://github.com/rust-lang/rust/pull/130822)
160+
* [add `must_use` to `CommandExt::exec`](https://github.com/rust-lang/rust/pull/131833)
161+
* [avoid use imports in `thread_local_inner!`](https://github.com/rust-lang/rust/pull/131866)
162+
* [mark the unstable `LazyCell::into_inner` const](https://github.com/rust-lang/rust/pull/131712)
163+
* [optimize `Box::default` and `Arc::default` to construct more types in place](https://github.com/rust-lang/rust/pull/131460)
164+
* [optimize str.replace](https://github.com/rust-lang/rust/pull/130223)
165+
* [partially stabilize `const_pin`](https://github.com/rust-lang/rust/pull/130136)
166+
* [refactor some `core::fmt` macros](https://github.com/rust-lang/rust/pull/131730)
167+
* [avoid superfluous UB checks in `IndexRange`](https://github.com/rust-lang/rust/pull/131572)
168+
* [relax a memory order in `once_box`](https://github.com/rust-lang/rust/pull/131746)
169+
* [speedup directory traversal on windows](https://github.com/rust-lang/rust/pull/131972)
170+
* [std: uefi: add basic Env variables](https://github.com/rust-lang/rust/pull/127462)
171+
* [uefi: implement getcwd and chdir](https://github.com/rust-lang/rust/pull/129794)
172+
* [cargo: registry: HttpRegistry `block_until_ready` returns early when work is still pending](https://github.com/rust-lang/cargo/pull/14694)
173+
* [cargo: resolver: avoid cloning when iterating using RcVecIter](https://github.com/rust-lang/cargo/pull/14690)
174+
* [cargo: stabilize MSRV-aware resolver config](https://github.com/rust-lang/cargo/pull/14639)
175+
* [rustdoc-json-types: introduce rustc-hash feature](https://github.com/rust-lang/rust/pull/131936)
176+
* [rustdoc-json-types: mark simple enums as copy](https://github.com/rust-lang/rust/pull/131976)
177+
* [rustdoc: switch from FxHash to sha256 for static file hashing](https://github.com/rust-lang/rust/pull/131908)
178+
* [rustfmt `for<'a> async` correctly](https://github.com/rust-lang/rust/pull/131657)
179+
* [rustfmt: `compile_rustfmt` rewrite](https://github.com/rust-lang/rustfmt/pull/6275)
180+
* [rustfmt: apply 2024 version sort algorithm to mods](https://github.com/rust-lang/rustfmt/pull/6368)
181+
* [rustfmt: defer changes for zero argument functions until `style_edition=2027`](https://github.com/rust-lang/rustfmt/pull/6362)
182+
* [clippy: add lint for unnecessary lifetime bounded `&str` return](https://github.com/rust-lang/rust-clippy/pull/13395)
183+
* [clippy: allow to go through clippy lints page without javascript](https://github.com/rust-lang/rust-clippy/pull/13539)
184+
* [clippy: change the category of `manual_is_power_of_two` to `pedantic`](https://github.com/rust-lang/rust-clippy/pull/13553)
185+
* [clippy: stop linting `manual_bits` in any macro invocation](https://github.com/rust-lang/rust-clippy/pull/13564)
186+
* [rust-analyzer: add wrap/unwrap return type in Option](https://github.com/rust-lang/rust-analyzer/pull/18294)
187+
* [rust-analyzer: clamp `Position::character` to line length](https://github.com/rust-lang/rust-analyzer/pull/18243)
188+
* [rust-analyzer: do not consider match/let/ref of place that evaluates to ! to diverge, disallow coercions from them too](https://github.com/rust-lang/rust-analyzer/pull/18278)
189+
* [rust-analyzer: better completions for extern blocks](https://github.com/rust-lang/rust-analyzer/pull/18360)
190+
* [rust-analyzer: goto definition on range operators](https://github.com/rust-lang/rust-analyzer/pull/18362)
191+
* [rust-analyzer: initial support for `safe_kw` in extern blocks](https://github.com/rust-lang/rust-analyzer/pull/18350)
192+
* [rust-analyzer: support initializeStopped setting](https://github.com/rust-lang/rust-analyzer/pull/18359)
193+
* [rust-analyzer: fix status bar message not being marked markdown](https://github.com/rust-lang/rust-analyzer/pull/18366)
194+
* [rust-analyzer: classify `safe` as a contextual keyword](https://github.com/rust-lang/rust-analyzer/pull/18354)
195+
* [rust-analyzer: fix token downmapping failing for include! inputs](https://github.com/rust-lang/rust-analyzer/pull/18361)
196+
* [rust-analyzer: private items are shown in completions for modules in fn body](https://github.com/rust-lang/rust-analyzer/pull/18337)
104197

105198
### Rust Compiler Performance Triage
106199

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

282375
# Quote of the Week
283376

284-
<!-- QOTW goes here -->
377+
> Your problem is that you’re trying to borrow from the dead.
378+
379+
[/u/masklinn on /r/rust](https://old.reddit.com/r/rust/comments/1g3a2ul/hey_rustaceans_got_a_question_ask_here_422024/lrzqed7/)
380+
381+
Thanks to [Maciej Dziardziel](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1622) for the suggestion!
285382

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

0 commit comments

Comments
 (0)