Skip to content

Commit 7871fcb

Browse files
authored
Merge pull request #5428 from llogiq/twir-544
C/QotW and notable changes
2 parents c206e79 + 3f35379 commit 7871fcb

File tree

1 file changed

+133
-3
lines changed

1 file changed

+133
-3
lines changed

draft/2024-04-24-this-week-in-rust.md

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

5555
## Crate of the Week
5656

57-
<!-- COTW goes here -->
57+
This week's crate is [scandir](https://crates.io/crates/scandir), a high-performance file tree scanner.
58+
59+
Thanks to [Marty B.](https://users.rust-lang.org/t/crate-of-the-week/2704/1305) for the self-suggestion!
5860

5961
[Please submit your suggestions and votes for next week][submit_crate]!
6062

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

99101
## Updates from the Rust Project
100102

101-
<!-- Rust updates go here -->
103+
432 pull requests were [merged in the last week][merged]
104+
105+
[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2024-04-16..2024-04-23
106+
107+
* [add simple async drop glue generation](https://github.com/rust-lang/rust/pull/121801)
108+
* [llvm backend: Prevent creating the same `Instance::mono` multiple times](https://github.com/rust-lang/rust/pull/124178)
109+
* [`static_mut_refs`: use raw pointers to remove the remaining FIXME](https://github.com/rust-lang/rust/pull/123967)
110+
* [add a lower bound check to `unicode-table-generator` output](https://github.com/rust-lang/rust/pull/122013)
111+
* [add an opt-in to store incoming edges in `VecGraph` + misc](https://github.com/rust-lang/rust/pull/123980)
112+
* [add llvm-bitcode-linker to build manifest](https://github.com/rust-lang/rust/pull/124071)
113+
* [allow workproducts without object files](https://github.com/rust-lang/rust/pull/124023)
114+
* [at debuginfo=0, don't inline debuginfo when inlining](https://github.com/rust-lang/rust/pull/123949)
115+
* [correctly change type when adding adjustments on top of `NeverToAny`](https://github.com/rust-lang/rust/pull/123571)
116+
* [coverage: branch coverage tests for lazy boolean operators](https://github.com/rust-lang/rust/pull/124053)
117+
* [coverage: prepare for improved branch coverage](https://github.com/rust-lang/rust/pull/124217)
118+
* [delay interning errors to after validation](https://github.com/rust-lang/rust/pull/122684)
119+
* [delay span bug when `Self` kw resolves to `DefKind::{Mod,Trait}`](https://github.com/rust-lang/rust/pull/123997)
120+
* [don't ICE for kind mismatches during error rendering](https://github.com/rust-lang/rust/pull/123673)
121+
* [don't ascend into parent bodies when collecting stmts for possible return suggestion](https://github.com/rust-lang/rust/pull/124037)
122+
* [don't error on subtyping of equal types](https://github.com/rust-lang/rust/pull/124066)
123+
* [don't inline integer literals when they overflow - new attempt](https://github.com/rust-lang/rust/pull/123935)
124+
* [don't repeatedly duplicate TAIT lifetimes for each subsequently nested TAIT](https://github.com/rust-lang/rust/pull/124106)
125+
* [fix ICE in `eval_body_using_ecx`](https://github.com/rust-lang/rust/pull/123491)
126+
* [fix ICE when there is a non-Unicode entry in the incremental crate directory](https://github.com/rust-lang/rust/pull/124112)
127+
* [fix capturing duplicated lifetimes via parent in `precise_captures` (`impl use<'...>`)](https://github.com/rust-lang/rust/pull/124104)
128+
* [fix normalizing in different `ParamEnv`s with the same InferCtxt](https://github.com/rust-lang/rust/pull/124203)
129+
* [fix trait solver overflow with `non_local_definitions` lint](https://github.com/rust-lang/rust/pull/123594)
130+
* [flip spans for precise capturing syntax not capturing a ty/const param, and for implicit captures of lifetime params](https://github.com/rust-lang/rust/pull/124198)
131+
* [give a name to each distinct manipulation of pretty-printer FixupContext](https://github.com/rust-lang/rust/pull/124191)
132+
* [ignore `-C strip` on MSVC](https://github.com/rust-lang/rust/pull/115120)
133+
* [implement Modified Condition/Decision Coverage](https://github.com/rust-lang/rust/pull/123409)
134+
* [implement `PROBLEMATIC_CONSTS` generalization](https://github.com/rust-lang/rust/pull/115253)
135+
* [implement syntax for `impl Trait` to specify its captures explicitly (`feature(precise_capturing)`)](https://github.com/rust-lang/rust/pull/123468)
136+
* [improve ICE message for forbidden dep-graph reads](https://github.com/rust-lang/rust/pull/124252)
137+
* [interpret: pass MemoryKind to `adjust_alloc_base_pointer`](https://github.com/rust-lang/rust/pull/124030)
138+
* [interpret: pass MemoryKind to `before_memory_deallocation`](https://github.com/rust-lang/rust/pull/124018)
139+
* [interpret: use ScalarInt for bin-ops; avoid PartialOrd for ScalarInt](https://github.com/rust-lang/rust/pull/124113)
140+
* [introduce perma-unstable `wasm-c-abi` flag](https://github.com/rust-lang/rust/pull/117919)
141+
* [let inherent associated types constrain opaque types during projection](https://github.com/rust-lang/rust/pull/124166)
142+
* [make `suggest_deref_closure_return` more idiomatic/easier to understand](https://github.com/rust-lang/rust/pull/123990)
143+
* [make `thir_tree` and `thir_flat` into hooks](https://github.com/rust-lang/rust/pull/123995)
144+
* [make the comments for `ReturnDest` variants doc comments](https://github.com/rust-lang/rust/pull/124052)
145+
* [match ergonomics 2024: Implement eat-one-layer](https://github.com/rust-lang/rust/pull/123512)
146+
* [match ergonomics 2024: `mut` doesn't reset binding mode](https://github.com/rust-lang/rust/pull/123535)
147+
* [match hyphen in multi-revision comment matchers](https://github.com/rust-lang/rust/pull/124137)
148+
* [opaque types have no namespace](https://github.com/rust-lang/rust/pull/123998)
149+
* [outline default query and hook provider function implementations](https://github.com/rust-lang/rust/pull/124016)
150+
* [prefer identity equality over equating types during coercion](https://github.com/rust-lang/rust/pull/124027)
151+
* [print note with closure signature on type mismatch](https://github.com/rust-lang/rust/pull/123379)
152+
* [properly handle emojis as literal prefix in macros](https://github.com/rust-lang/rust/pull/123752)
153+
* [remove `default_hidden_visibility: false` from wasm targets](https://github.com/rust-lang/rust/pull/124036)
154+
* [remove uneeded clones now that TrustedStep implies Copy](https://github.com/rust-lang/rust/pull/123859)
155+
* [silence some follow-up errors on trait impls in case the trait has conflicting or otherwise incoherent impls](https://github.com/rust-lang/rust/pull/123674)
156+
* [simplify shallow resolver to just fold ty/consts](https://github.com/rust-lang/rust/pull/123537)
157+
* [stop taking `ParamTy`/`ParamConst`/`EarlyParamRegion`/`AliasTy` by ref](https://github.com/rust-lang/rust/pull/124183)
158+
* [subtype predicates only exist on inference types, so we can allow them to register opaque types within them](https://github.com/rust-lang/rust/pull/123979)
159+
* [tell LLVM `Vec::len` is invariant across growth](https://github.com/rust-lang/rust/pull/123930)
160+
* [use raw-dylib for Windows synchronization functions](https://github.com/rust-lang/rust/pull/124019)
161+
* [refactor clippy in bootstrap](https://github.com/rust-lang/rust/pull/122883)
162+
* [when suggesting `RUST_BACKTRACE=1,` add a special note for Miri's env var isolation](https://github.com/rust-lang/rust/pull/124116)
163+
* [miri: `data_race`: make the release/acquire API more clear](https://github.com/rust-lang/miri/pull/3495)
164+
* [miri: `no_std` works on Windows now](https://github.com/rust-lang/miri/pull/3477)
165+
* [miri: add `localtime_r` shim](https://github.com/rust-lang/miri/pull/3461)
166+
* [miri: address reuse improvements and fixes](https://github.com/rust-lang/miri/pull/3475)
167+
* [miri: deadlock: show backtrace for all threads](https://github.com/rust-lang/miri/pull/3472)
168+
* [miri: directly call `handle_alloc_error`](https://github.com/rust-lang/miri/pull/3480)
169+
* [miri: implement support for `__rust_alloc_error_handler`](https://github.com/rust-lang/miri/pull/3478)
170+
* [miri: make realloc with a size of zero fail](https://github.com/rust-lang/miri/pull/3484)
171+
* [miri: move `read_byte_slice` to general helpers file, next to `read_c_str`](https://github.com/rust-lang/miri/pull/3485)
172+
* [miri: threads: keep track of why we are blocked, and sanity-check that when waking up](https://github.com/rust-lang/miri/pull/3471)
173+
* [`Box::into_raw`: make Miri understand that this is a box-to-raw cast](https://github.com/rust-lang/rust/pull/124013)
174+
* [`PatRangeBoundary::compare_with`: also add a fast-path for signed integers](https://github.com/rust-lang/rust/pull/124190)
175+
* [codegen ZSTs without an allocation](https://github.com/rust-lang/rust/pull/123936)
176+
* [stabilize Wasm target features that are in phase 4 and 5](https://github.com/rust-lang/rust/pull/117457)
177+
* [stabilize `const_io_structs`](https://github.com/rust-lang/rust/pull/124049)
178+
* [stabilize checking of cfgs at compile-time: `--check-cfg` option](https://github.com/rust-lang/rust/pull/123501)
179+
* [stabilize generic `NonZero`](https://github.com/rust-lang/rust/pull/124230)
180+
* [make `checked` ops emit *unchecked* LLVM operations where feasible](https://github.com/rust-lang/rust/pull/124114)
181+
* [improve `std::fs::Metadata` Debug representation](https://github.com/rust-lang/rust/pull/124103)
182+
* [fix negating `f16` and `f128` constants](https://github.com/rust-lang/rust/pull/124110)
183+
* [force exhaustion in `iter::ArrayChunks::into_remainder`](https://github.com/rust-lang/rust/pull/123406)
184+
* [`checked_ilog`: improve performance](https://github.com/rust-lang/rust/pull/115913)
185+
* [add an intrinsic for `ptr::from_raw_parts(_mut)`](https://github.com/rust-lang/rust/pull/123840)
186+
* [fix: make `str::from_raw_parts_mut mut`](https://github.com/rust-lang/rust/pull/124100)
187+
* [use queue-based `RwLock` on more platforms](https://github.com/rust-lang/rust/pull/123811)
188+
* [add support for Arm64EC to the standard library](https://github.com/rust-lang/rust/pull/123144)
189+
* [codegen\_gcc: fix `PassMode::Indirect` with params](https://github.com/rust-lang/rustc_codegen_gcc/pull/498)
190+
* [codegen\_gcc: fix check for main function already declared](https://github.com/rust-lang/rustc_codegen_gcc/pull/497)
191+
* [codegen\_gcc: fix panic when calling `get_fn` for a variable](https://github.com/rust-lang/rustc_codegen_gcc/pull/499)
192+
* [codegen\_gcc: fix passing custom `CG_RUSTFLAGS` when building sysroot](https://github.com/rust-lang/rustc_codegen_gcc/pull/493)
193+
* [codegen\_gcc: implement more type kinds](https://github.com/rust-lang/rustc_codegen_gcc/pull/500)
194+
* [cargo install: including Locking message](https://github.com/rust-lang/cargo/pull/13764)
195+
* [cargo resolver: add default Edition2024 to resolver v3](https://github.com/rust-lang/cargo/pull/13785)
196+
* [cargo resolver: add v3 resolver for MSRV-aware resolving](https://github.com/rust-lang/cargo/pull/13776)
197+
* [cargo credential: trim newlines in tokens from stdin](https://github.com/rust-lang/cargo/pull/13770)
198+
* [cargo msrv: error, rather than panic, on rust-version 'x'](https://github.com/rust-lang/cargo/pull/13771)
199+
* [cargo msrv: put MSRV-aware resolver behind a config](https://github.com/rust-lang/cargo/pull/13769)
200+
* [cargo toml: don't crash on parse errors that point to multi-byte character](https://github.com/rust-lang/cargo/pull/13780)
201+
* [cargo toml: disallow source-less dependencies](https://github.com/rust-lang/cargo/pull/13775)
202+
* [cargo toml: error on `[project]` in Edition 2024](https://github.com/rust-lang/cargo/pull/13747)
203+
* [cargo toml: report `_`fied variants (e.g. `dev_dependencies`) as deprecated](https://github.com/rust-lang/cargo/pull/13783)
204+
* [cargo: fix 'cargo build' fails when `list_files()` with gix is triggered](https://github.com/rust-lang/cargo/pull/13777)
205+
* [rustdoc: always display stability version even if it's the same as the containing item](https://github.com/rust-lang/rust/pull/118441)
206+
* [rustdoc: fix copy path button](https://github.com/rust-lang/rust/pull/124041)
207+
* [rustdoc: support type '/' to search](https://github.com/rust-lang/rust/pull/123355)
208+
* [rustdoc-search: fix description on aliases in results](https://github.com/rust-lang/rust/pull/124149)
209+
* [rustdoc-search: single result for items with multiple paths](https://github.com/rust-lang/rust/pull/119912)
210+
* [clippy: `threadlocal_initializer_can_be_made_const` will not trigger for unreachable initializers](https://github.com/rust-lang/rust-clippy/pull/12685)
211+
* [clippy: `arithmetic_side_effects` fix false negative on `+=`](https://github.com/rust-lang/rust-clippy/pull/12692)
212+
* [clippy: `ptr_as_ptr`: fix duplicate diagnostics](https://github.com/rust-lang/rust-clippy/pull/12673)
213+
* [clippy: emit the `needless_pass_by_ref_mut` lint on `self` arguments as well](https://github.com/rust-lang/rust-clippy/pull/12693)
214+
* [clippy: fix `is_test_module_or_function`](https://github.com/rust-lang/rust-clippy/pull/12696)
215+
* [clippy: reduce `single_char_pattern` to only lint on ascii chars](https://github.com/rust-lang/rust-clippy/pull/11852)
216+
* [clippy: rework interior mutability detection](https://github.com/rust-lang/rust-clippy/pull/12691)
217+
* [clippy: the `multiple_unsafe_ops_per_block` test needs `asm!`](https://github.com/rust-lang/rust-clippy/pull/12682)
218+
* [rust-analyzer: cargo script mvp](https://github.com/rust-lang/rust-analyzer/pull/17110)
219+
* [rust-analyzer: add convert From to TryFrom assist](https://github.com/rust-lang/rust-analyzer/pull/17094)
220+
* [rust-analyzer: allow rust files to be used linkedProjects](https://github.com/rust-lang/rust-analyzer/pull/17118)
221+
* [rust-analyzer: VFS should not walk circular symlinks](https://github.com/rust-lang/rust-analyzer/pull/17093)
222+
* [rust-analyzer: handle escaped chars in doc comments](https://github.com/rust-lang/rust-analyzer/pull/17024)
223+
* [rust-analyzer: replace Just the variable name in Unused Variable Diagnostic Fix](https://github.com/rust-lang/rust-analyzer/pull/17055)
224+
* [rust-analyzer: implement `BeginPanic` handling in const eval](https://github.com/rust-lang/rust-analyzer/pull/16938)
225+
* [rust-analyzer: make test harness arguments configurable and not `--nocapture`](https://github.com/rust-lang/rust-analyzer/pull/17105)
226+
* [rust-analyzer: render matched macro arm on hover of macro calls](https://github.com/rust-lang/rust-analyzer/pull/16057)
227+
* [rust-analyzer: try to generate more meaningful names in json converter](https://github.com/rust-lang/rust-analyzer/pull/17115)
102228

103229
### Rust Compiler Performance Triage
104230

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

311437
# Quote of the Week
312438

313-
<!-- QOTW goes here -->
439+
> The learning curve for Rust is relatively steep compared to other languages, but once you climb it you'll never look down.
440+
441+
[BD103 on Mastodon](https://hachyderm.io/@bd103/112318610927827520)
442+
443+
Thanks to [BD103](https://users.rust-lang.org/t/twir-quote-of-the-week/328/1563) for the self-suggestion!
314444

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

0 commit comments

Comments
 (0)