Skip to content

Commit 4f39abf

Browse files
committed
C/QotW and notable changes
1 parent 1d32a39 commit 4f39abf

File tree

1 file changed

+80
-3
lines changed

1 file changed

+80
-3
lines changed

draft/2022-11-23-this-week-in-rust.md

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

5252
## Crate of the Week
5353

54-
<!-- COTW goes here -->
54+
This week's crate is [graph](https://crates.io/crates/graph), a collection of high-performance graph algorithms.
55+
56+
Thanks to [Knutwalker](https://users.rust-lang.org/t/crate-of-the-week/2704/1125) for the (partial self-) suggestion!
5557

5658
[Please submit your suggestions and votes for next week][submit_crate]!
5759

@@ -73,7 +75,70 @@ If you are a Rust project owner and are looking for contributors, please submit
7375

7476
## Updates from the Rust Project
7577

76-
<!-- Rust updates go here -->
78+
388 pull requests were [merged in the last week][merged]
79+
80+
[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2022-11-14..2022-11-21
81+
82+
* [deduce closure signature from a type alias `impl Trait`'s supertraits](https://github.com/rust-lang/rust/pull/104258)
83+
* [pass 128-bit C-style enum enumerator values to LLVM](https://github.com/rust-lang/rust/pull/102717)
84+
* [detect incorrect chaining of if and if let conditions and recover](https://github.com/rust-lang/rust/pull/103405)
85+
* [diagnostics `icu4x` based list formatting](https://github.com/rust-lang/rust/pull/104047)
86+
* [diagnostics: only show one suggestion for method → assoc fn](https://github.com/rust-lang/rust/pull/104580)
87+
* [fix inconsistent rounding of 0.5 when formatted to 0 decimal places](https://github.com/rust-lang/rust/pull/102935)
88+
* [fix non-associativity of `Instant` math on `aarch64-apple-darwin` targets](https://github.com/rust-lang/rust/pull/103594)
89+
* [improve generating Custom entry (as in `main()`) function](https://github.com/rust-lang/rust/pull/104001)
90+
* [improve spans for RPITIT object-safety errors](https://github.com/rust-lang/rust/pull/104593)
91+
* [interpret: support for per-byte provenance](https://github.com/rust-lang/rust/pull/104054)
92+
* [llvm-wrapper adapt for LLVM API change](https://github.com/rust-lang/rust/pull/104413)
93+
* [nll: correctly deal with bivariance](https://github.com/rust-lang/rust/pull/104411)
94+
* [only do parser recovery on retried macro matching](https://github.com/rust-lang/rust/pull/104335)
95+
* [record `LocalDefId` in HIR nodes instead of a side table](https://github.com/rust-lang/rust/pull/104170)
96+
* [shift no characters when using raw string literals](https://github.com/rust-lang/rust/pull/104193)
97+
* [slightly improve error message for invalid identifier](https://github.com/rust-lang/rust/pull/104309)
98+
* [support `#[track_caller]` on async fns](https://github.com/rust-lang/rust/pull/104219)
99+
* [miri: make `align_offset` always work on no-provenance pointers](https://github.com/rust-lang/miri/pull/2683)
100+
* [miri: stack borrows: weak protectors](https://github.com/rust-lang/miri/pull/2684)
101+
* [add new MIR constant propagation based on dataflow analysis](https://github.com/rust-lang/rust/pull/101168)
102+
* [merge basic blocks where possible when generating LLVM IR](https://github.com/rust-lang/rust/pull/103138)
103+
* [minimal implementation of implicit deref patterns for Strings](https://github.com/rust-lang/rust/pull/98914)
104+
* [shrink `ast::Expr` harder](https://github.com/rust-lang/rust/pull/101562)
105+
* [use `token::Lit` in `ast::ExprKind::Lit`](https://github.com/rust-lang/rust/pull/102944)
106+
* [perform simple scalar replacement of aggregates (SROA) MIR opt](https://github.com/rust-lang/rust/pull/102570)
107+
* [make `pointer::byte_offset_from` more generic](https://github.com/rust-lang/rust/pull/103489)
108+
* [fix `mod_inv` termination for the last iteration](https://github.com/rust-lang/rust/pull/103378)
109+
* [improve accuracy of asinh and acosh](https://github.com/rust-lang/rust/pull/104553)
110+
* [stabilize const char convert](https://github.com/rust-lang/rust/pull/102470)
111+
* [`VecDeque::resize` should re-use the buffer in the passed-in element](https://github.com/rust-lang/rust/pull/104435)
112+
* [`unchecked_{shl|shr}` should use `u32` as the RHS](https://github.com/rust-lang/rust/pull/103456)
113+
* [constify `is_aligned` via `align_offset`](https://github.com/rust-lang/rust/pull/102795)
114+
* [`x86_64` SSE2 fast-path for `str.contains(&str)` and short needles](https://github.com/rust-lang/rust/pull/103779)
115+
* [remove HRTB from `[T]::is_sorted_by{,_key}`](https://github.com/rust-lang/rust/pull/102977)
116+
* [portable-simd: scatter/gather for pointers](https://github.com/rust-lang/portable-simd/pull/315)
117+
* [stdarch: fix undefined behavior in `movemask_epi8`](https://github.com/rust-lang/stdarch/pull/1354)
118+
* [compiler-builtins: skip assembly implementations on the UEFI targets](https://github.com/rust-lang/compiler-builtins/pull/504)
119+
* [compiler-builtins: use a stub stdlib.h when compiling for UEFI targets](https://github.com/rust-lang/compiler-builtins/pull/506)
120+
* [cargo: fix cargo install --index when used with registry.default](https://github.com/rust-lang/cargo/pull/11302)
121+
* [cargo: alternative registry authentication support](https://github.com/rust-lang/cargo/pull/10592) (RFC [#3139](https://rust-lang.github.io/rfcs/3139-cargo-alternative-registry-auth.html))
122+
* [cargo: improve error message for cargo add/remove](https://github.com/rust-lang/cargo/pull/11375)
123+
* [rustdoc: fix missing minification for static files](https://github.com/rust-lang/rust/pull/104404)
124+
* [rustdoc: resolve doc links in external traits having local impls](https://github.com/rust-lang/rust/pull/104364)
125+
* [clippy: `never_loop`: don't emit AlwaysBreaks if it targets a block](https://github.com/rust-lang/rust-clippy/pull/9858)
126+
* [clippy: add new lint `misnamed-getters`](https://github.com/rust-lang/rust-clippy/pull/9770)
127+
* [clippy: allow manual swap in const fn](https://github.com/rust-lang/rust-clippy/pull/9871)
128+
* [clippy: allow return types for closures with lifetime binder](https://github.com/rust-lang/rust-clippy/pull/9849)
129+
* [clippy: `arithmetic_side_effects`: detect overflowing associated constants of integers](https://github.com/rust-lang/rust-clippy/pull/9592)
130+
* [clippy: extend `needless_borrowed_reference` to structs and tuples, ignore `_`](https://github.com/rust-lang/rust-clippy/pull/9855)
131+
* [clippy: lint unchecked subtraction of a 'Duration' from an 'Instant'](https://github.com/rust-lang/rust-clippy/pull/9570)
132+
* [clippy: fix `#[allow]` for `module_name_repetitions` & `single_component_path_imports`](https://github.com/rust-lang/rust-clippy/pull/9879)
133+
* [clippy: preserve `ref` on `infallible_destructuring_match` suggestion](https://github.com/rust-lang/rust-clippy/pull/9850)
134+
* [rust-analyzer: allow viewing the full compiler diagnostic in a readonly textview](https://github.com/rust-lang/rust-analyzer/pull/13633)
135+
* [rust-analyzer: make "Remove dbg!()" assist work on selections](https://github.com/rust-lang/rust-analyzer/pull/13629)
136+
* [rust-analyzer: remove `item_const` which had default value when implement missing members](https://github.com/rust-lang/rust-analyzer/pull/13642)
137+
* [rust-analyzer: format expression parsing edge-cases](https://github.com/rust-lang/rust-analyzer/pull/13641)
138+
* [rust-analyzer: include generic parameter in GAT completions](https://github.com/rust-lang/rust-analyzer/pull/13622)
139+
* [rust-analyzer: resolve inference variable before applying adjustments](https://github.com/rust-lang/rust-analyzer/pull/13624)
140+
* [rust-analyzer: strip comments and attributes off of all trait item completions](https://github.com/rust-lang/rust-analyzer/pull/13623)
141+
* [rust-analyzer: support multiple targets for checkOnSave (in conjunction with cargo 1.64.0+)](https://github.com/rust-lang/rust-analyzer/pull/13290)
77142

78143
### Rust Compiler Performance Triage
79144

@@ -212,7 +277,19 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
212277

213278
# Quote of the Week
214279

215-
<!-- QOTW goes here -->
280+
> While working on these userspace Mesa changes today, I did not hit a single GPU kernel driver bug. Not. A. Single. Bug.
281+
>
282+
> This is thanks to Lina's phenomenal efforts. She took a gamble writing the kernel driver in Rust, knowing it would take longer to get to the first triangle but believing it would make for a more robust driver in the end. She was right.
283+
>
284+
> A few months of Lina's Rust development has produced a more stable driver than years of development in C on certain mainline Linux GPU kernel drivers.
285+
>
286+
> I think... I think I have Rust envy 🦀
287+
>
288+
> ....Or maybe just Lina envy 😊
289+
290+
[Alyssa Rosenzweig tooting on Mastodon](https://social.treehouse.systems/@alyssa/109311654876060384)
291+
292+
Thanks to [Brian Kung](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1331) for the suggestion!
216293

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

0 commit comments

Comments
 (0)