@@ -40,6 +40,8 @@ and just ask the editors to select the category.
4040* [ cargo.nvim - A Neovim plugin for Rust's Cargo commands] ( https://github.com/nwiizo/cargo.nvim )
4141 A plugin that enables seamless integration with Cargo commands in Neovim, providing a floating window interface for executing Cargo operations directly from your editor.
4242
43+ * [ Context-Generic Programming Updates: v0.3.0 Release and New Chapters] ( https://contextgeneric.dev/blog/v0-3-0-release/ )
44+
4345### Observations/Thoughts
4446
4547### Rust Walkthroughs
@@ -58,26 +60,32 @@ and just ask the editors to select the category.
5860
5961## Crate of the Week
6062
61- <!-- COTW goes here -->
63+ This week's crate is [ vidyut] ( https://github.com/ambuda-org/vidyut ) , a Sanskrit toolkit containing functionality about meter, segmentation, inflections, etc.
64+
65+ Thanks to [ Arun Prasad] ( https://users.rust-lang.org/t/crate-of-the-week/2704/1387 ) for the self-suggestion!
6266
6367[ Please submit your suggestions and votes for next week] [ submit_crate ] !
6468
6569[ submit_crate ] : https://users.rust-lang.org/t/crate-of-the-week/2704
6670
6771## Calls for Testing
68-
6972An important step for RFC implementation is for people to experiment with the
7073implementation and give feedback, especially before stabilization. The following
7174RFCs would benefit from user testing before moving forward:
7275
73- <!-- Calls for Testing go here, use this format:
74- * [<RFC Topic>](<RFC URL>)
75- * [Tracking Issue](<Tracking Issue URL>)
76- * [Testing steps](<Testing Steps URL>)
77- -->
78- <!-- or if there are no new or updated RFCs this week, use: -->
79- <!-- * *No New or Updated RFCs were created this week.* -->
80- <!-- Remember to remove the `call-for-testing` label from the RFC so that the maintainer can signal for testers again, if desired. -->
76+ ### [ RFCs] ( https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing )
77+ * * No calls for testing were issued this week.*
78+
79+ ### [ Rust] ( https://github.com/rust-lang/rust/labels/call-for-testing )
80+ * [ Tracking issue for RFC 3695: Allow boolean literals as cfg predicates] ( https://github.com/rust-lang/rust/issues/131204 )
81+ - [ Testing steps] ( https://github.com/rust-lang/rust/issues/131204#issuecomment-2569314526 )
82+
83+ ### [ Rustup] ( https://github.com/rust-lang/rustup/labels/call-for-testing )
84+ * * No calls for testing were issued this week.*
85+
86+ If you are a feature implementer and would like your RFC to appear on the above list, add the new ` call-for-testing `
87+ label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature
88+ need testing.
8189
8290### [ RFCs] ( https://github.com/rust-lang/rfcs/issues?q=label%3Acall-for-testing )
8391
@@ -121,7 +129,111 @@ If you are an event organizer hoping to expand the reach of your event, please s
121129
122130## Updates from the Rust Project
123131
124- <!-- Rust updates go here -->
132+ 469 pull requests were [ merged in the last week] [ merged ]
133+
134+ [ merged ] : https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2025-01-07..2025-01-14
135+
136+ * [ add new ` {x86_64,i686}-win7-windows-gnu ` targets] ( https://github.com/rust-lang/rust/pull/134609 )
137+ * [ arm: add unstable soft-float target feature] ( https://github.com/rust-lang/rust/pull/135203 )
138+ * [ ` -Zrandomize-layout ` harder. ` Foo<T> != Foo<U> ` ] ( https://github.com/rust-lang/rust/pull/133088 )
139+ * [ ` best_blame_constraint ` : Blame better constraints when the region graph has cycles from invariance or ` 'static ` ] ( https://github.com/rust-lang/rust/pull/133858 )
140+ * [ ` mir_transform ` : implement ` #[rustc_force_inline] ` ] ( https://github.com/rust-lang/rust/pull/134082 )
141+ * [ ` run_make_support ` : add ` #![warn(unreachable_pub)] ` ] ( https://github.com/rust-lang/rust/pull/135411 )
142+ * [ account for identity substituted items in symbol mangling] ( https://github.com/rust-lang/rust/pull/135261 )
143+ * [ add ` -Zmin-function-alignment ` ] ( https://github.com/rust-lang/rust/pull/134030 )
144+ * [ add ` default_field_values ` entry to unstable book] ( https://github.com/rust-lang/rust/pull/134855 )
145+ * [ add a list of symbols for stable standard library crates] ( https://github.com/rust-lang/rust/pull/135247 )
146+ * [ add an ` InstSimplify ` for repetitive array expressions] ( https://github.com/rust-lang/rust/pull/135274 )
147+ * [ add inherent versions of ` MaybeUninit ` methods for slices] ( https://github.com/rust-lang/rust/pull/129259 )
148+ * [ add missing provenance APIs on ` NonNull ` ] ( https://github.com/rust-lang/rust/pull/135242 )
149+ * [ assert that ` Instance::try_resolve ` is only used on body-like things] ( https://github.com/rust-lang/rust/pull/135426 )
150+ * [ avoid ICE: Account for ` for<'a> ` types when checking for non-structural type in constant as pattern] ( https://github.com/rust-lang/rust/pull/134776 )
151+ * [ avoid replacing the definition of ` CURRENT_RUSTC_VERSION ` ] ( https://github.com/rust-lang/rust/pull/135173 )
152+ * [ cleanup ` suggest_binding_for_closure_capture_self ` diag in borrowck] ( https://github.com/rust-lang/rust/pull/135364 )
153+ * [ condvar: implement ` wait_timeout ` for targets without threads] ( https://github.com/rust-lang/rust/pull/134389 )
154+ * [ convert typeck constraints in location-sensitive polonius] ( https://github.com/rust-lang/rust/pull/134920 )
155+ * [ depth limit const eval query] ( https://github.com/rust-lang/rust/pull/135167 )
156+ * [ detect ` mut arg: &Ty ` meant to be ` arg: &mut Ty ` and provide structured suggestion] ( https://github.com/rust-lang/rust/pull/134977 )
157+ * [ do not ICE when encountering predicates from other items in method error reporting] ( https://github.com/rust-lang/rust/pull/135083 )
158+ * [ eagerly collect mono items for non-generic closures] ( https://github.com/rust-lang/rust/pull/135314 )
159+ * [ ensure that we don't try to access fields on a non-struct pattern type] ( https://github.com/rust-lang/rust/pull/135222 )
160+ * [ exhaustively handle expressions in patterns] ( https://github.com/rust-lang/rust/pull/134228 )
161+ * [ fix ICE with references to infinite structs in consts] ( https://github.com/rust-lang/rust/pull/135464 )
162+ * [ fix cycle error only occurring with -Zdump-mir] ( https://github.com/rust-lang/rust/pull/134498 )
163+ * [ fix handling of ZST in win64 ABI on windows-msvc targets] ( https://github.com/rust-lang/rust/pull/135204 )
164+ * [ implement ` const Destruct ` in old solver] ( https://github.com/rust-lang/rust/pull/134875 )
165+ * [ lower Guard Patterns to HIR] ( https://github.com/rust-lang/rust/pull/134989 )
166+ * [ make (unstable API) ` UniqueRc ` invariant for soundness] ( https://github.com/rust-lang/rust/pull/135379 )
167+ * [ make MIR cleanup for functions with impossible predicates into a real MIR pass] ( https://github.com/rust-lang/rust/pull/135377 )
168+ * [ make ` lit_to_mir_constant ` and ` lit_to_const ` infallible] ( https://github.com/rust-lang/rust/pull/135195 )
169+ * [ normalize each signature input/output in ` typeck_with_fallback ` with its own span] ( https://github.com/rust-lang/rust/pull/134745 )
170+ * [ remove a bunch of diagnostic stashing that doesn't do anything] ( https://github.com/rust-lang/rust/pull/135378 )
171+ * [ remove allocations from case-insensitive comparison to keywords] ( https://github.com/rust-lang/rust/pull/135371 )
172+ * [ remove special-casing for argument patterns in MIR typeck (attempt to fix perf regression of #133858 )] ( https://github.com/rust-lang/rust/pull/135273 )
173+ * [ reserve x18 register for aarch64 wrs vxworks target] ( https://github.com/rust-lang/rust/pull/135184 )
174+ * [ rm unnecessary ` OpaqueTypeDecl ` wrapper] ( https://github.com/rust-lang/rust/pull/135440 )
175+ * [ suggest Replacing Comma with Semicolon in Incorrect Repeat Expressions] ( https://github.com/rust-lang/rust/pull/128110 )
176+ * [ support target specific ` optimized-compiler-builtins ` ] ( https://github.com/rust-lang/rust/pull/135326 )
177+ * [ unify conditional-const error reporting with non-const error reporting] ( https://github.com/rust-lang/rust/pull/134732 )
178+ * [ use a post-monomorphization typing env when mangling components that come from impls] ( https://github.com/rust-lang/rust/pull/135149 )
179+ * [ use llvm.memset.p0i8.* to initialize all same-bytes arrays] ( https://github.com/rust-lang/rust/pull/135258 )
180+ * [ used pthread name functions returning result for FreeBSD and DragonFly] ( https://github.com/rust-lang/rust/pull/132607 )
181+ * [ warn about broken simd not only on structs but also enums and unions when we didn't opt in to it] ( https://github.com/rust-lang/rust/pull/135219 )
182+ * [ implement trait upcasting] ( https://github.com/rust-lang/chalk/pull/821 )
183+ * [ mir-opt: GVN some more transmute cases] ( https://github.com/rust-lang/rust/pull/133324 )
184+ * [ miri: add FreeBSD maintainer; test all of Solarish] ( https://github.com/rust-lang/miri/pull/4135 )
185+ * [ miri: added Android to ` epoll ` and ` eventfd ` test targets] ( https://github.com/rust-lang/miri/pull/4137 )
186+ * [ miri: adjust the way we build miri-script in RA, to fix proc-macros] ( https://github.com/rust-lang/miri/pull/4134 )
187+ * [ miri: illumos: added epoll and eventfd] ( https://github.com/rust-lang/miri/pull/4136 )
188+ * [ miri: supported fioclex for ioctl on macos] ( https://github.com/rust-lang/miri/pull/4133 )
189+ * [ miri: switched FreeBSD to ` pthread_setname_np ` ] ( https://github.com/rust-lang/miri/pull/4132 )
190+ * [ miri: use ` deref_poiner_as ` instead of ` deref_pointer ` ] ( https://github.com/rust-lang/miri/pull/4138 )
191+ * [ ` proc_macro ` : Use ` ToTokens ` trait in ` quote ` macro] ( https://github.com/rust-lang/rust/pull/134693 )
192+ * [ add ` #[inline] ` to ` copy_from_slice ` ] ( https://github.com/rust-lang/rust/pull/135384 )
193+ * [ impl ` String::into_chars ` ] ( https://github.com/rust-lang/rust/pull/133057 )
194+ * [ initial fs module for uefi] ( https://github.com/rust-lang/rust/pull/135324 )
195+ * [ hashbrown: added Allocator template argument for ` rustc_iter ` ] ( https://github.com/rust-lang/hashbrown/pull/605 )
196+ * [ account for optimization levels other than numbers] ( https://github.com/rust-lang/compiler-builtins/pull/743 )
197+ * [ cargo: schemas: Fix 'metadata' JSON Schema] ( https://github.com/rust-lang/cargo/pull/15033 )
198+ * [ cargo: schemas: Fix the ` [lints] ` JSON Schema] ( https://github.com/rust-lang/cargo/pull/15035 )
199+ * [ cargo: perf: cargo-package: match certain path prefix with pathspec] ( https://github.com/rust-lang/cargo/pull/14997 )
200+ * [ cargo: fix: emit warnings as warnings when learning rust target info] ( https://github.com/rust-lang/cargo/pull/15036 )
201+ * [ cargo: make ` "C" ` explicit in ` extern "C" ` ] ( https://github.com/rust-lang/cargo/pull/15034 )
202+ * [ cargo: setup cargo environment for ` cargo rustc --print ` ] ( https://github.com/rust-lang/cargo/pull/15026 )
203+ * [ cargo: simplify SourceID Ord/Eq] ( https://github.com/rust-lang/cargo/pull/14980 )
204+ * [ rustdoc-json: include items in stripped modules in ` Crate::paths ` ] ( https://github.com/rust-lang/rust/pull/135348 )
205+ * [ rustdoc: use import stability marker in display] ( https://github.com/rust-lang/rust/pull/135352 )
206+ * [ rustdoc: use stable paths as preferred canonical paths] ( https://github.com/rust-lang/rust/pull/135171 )
207+ * [ rustfmt: drop nightly-gating of the ` --style-edition ` flag registration] ( https://github.com/rust-lang/rust/pull/135200 )
208+ * [ clippy: add new lint ` unneeded_struct_pattern ` ] ( https://github.com/rust-lang/rust-clippy/pull/13465 )
209+ * [ clippy: auto-fix ` slow_vector_initialization ` in some cases] ( https://github.com/rust-lang/rust-clippy/pull/13947 )
210+ * [ clippy: do not intersect spans coming from different contexts] ( https://github.com/rust-lang/rust-clippy/pull/13942 )
211+ * [ clippy: do not look for significant drop inside ` .await ` expansion] ( https://github.com/rust-lang/rust-clippy/pull/13985 )
212+ * [ clippy: do not propose to elide lifetimes if this causes an ambiguity] ( https://github.com/rust-lang/rust-clippy/pull/13929 )
213+ * [ clippy: do not remove identity mapping if mandatory mutability would be lost] ( https://github.com/rust-lang/rust-clippy/pull/13905 )
214+ * [ clippy: do not trigger ` redundant_pub_crate ` in external macros] ( https://github.com/rust-lang/rust-clippy/pull/13952 )
215+ * [ clippy: don't emit machine applicable ` map_flatten ` lint if there are code comments] ( https://github.com/rust-lang/rust-clippy/pull/13940 )
216+ * [ clippy: don't suggest to use ` cloned ` for ` Cow ` in ` unnecessary_to_owned ` ] ( https://github.com/rust-lang/rust-clippy/pull/13853 )
217+ * [ clippy: fix type suggestion for ` manual_is_ascii_check ` ] ( https://github.com/rust-lang/rust-clippy/pull/13916 )
218+ * [ clippy: improve ` needless_as_bytes ` to also detect ` str::bytes() ` ] ( https://github.com/rust-lang/rust-clippy/pull/13972 )
219+ * [ clippy: new lint: ` manual_ok_err ` ] ( https://github.com/rust-lang/rust-clippy/pull/13740 )
220+ * [ clippy: remove unneeded parentheses in ` unnecessary_map_or ` lint output] ( https://github.com/rust-lang/rust-clippy/pull/13932 )
221+ * [ rust-analyzer: add a new and improved syntax tree view] ( https://github.com/rust-lang/rust-analyzer/pull/18813 )
222+ * [ rust-analyzer: add config setting which allows adding additional include paths to the VFS] ( https://github.com/rust-lang/rust-analyzer/pull/18880 )
223+ * [ rust-analyzer: re-implement rust string highlighting via tool attribute] ( https://github.com/rust-lang/rust-analyzer/pull/18906 )
224+ * [ rust-analyzer: fix JSON project ` PackageRoot ` buildfile inclusion] ( https://github.com/rust-lang/rust-analyzer/pull/18866 )
225+ * [ rust-analyzer: do not compute ` prettify_macro_expansion() ` unless the "Inline macro" assist has actually been invoked] ( https://github.com/rust-lang/rust-analyzer/pull/18900 )
226+ * [ rust-analyzer: do not offer completions within macro strings] ( https://github.com/rust-lang/rust-analyzer/pull/18832 )
227+ * [ rust-analyzer: fix ` env ` /` option_env ` macro check disregarding ` macro_rules ` definitions] ( https://github.com/rust-lang/rust-analyzer/pull/18884 )
228+ * [ rust-analyzer: fix ` ref ` text edit for binding mode hints] ( https://github.com/rust-lang/rust-analyzer/pull/18920 )
229+ * [ rust-analyzer: fix a bug with missing binding in MBE] ( https://github.com/rust-lang/rust-analyzer/pull/18877 )
230+ * [ rust-analyzer: fix actual token lookup in completion's ` expand() ` ] ( https://github.com/rust-lang/rust-analyzer/pull/18889 )
231+ * [ rust-analyzer: fix another issue with fixup reversing] ( https://github.com/rust-lang/rust-analyzer/pull/18899 )
232+ * [ rust-analyzer: fix diagnostics not clearing between flychecks] ( https://github.com/rust-lang/rust-analyzer/pull/18864 )
233+ * [ rust-analyzer: make edition per-token, not per-file] ( https://github.com/rust-lang/rust-analyzer/pull/18861 )
234+ * [ rust-analyzer: implement ` #[rust_analyzer::skip] ` for bodies] ( https://github.com/rust-lang/rust-analyzer/pull/18907 )
235+ * [ rust-analyzer: implement implicit sized bound inlay hints] ( https://github.com/rust-lang/rust-analyzer/pull/18903 )
236+ * [ rust-analyzer: improve hover module path rendering] ( https://github.com/rust-lang/rust-analyzer/pull/18904 )
125237
126238### Rust Compiler Performance Triage
127239
@@ -132,47 +244,44 @@ If you are an event organizer hoping to expand the reach of your event, please s
132244Changes to Rust follow the Rust [ RFC (request for comments) process] ( https://github.com/rust-lang/rfcs#rust-rfcs ) . These
133245are the RFCs that were approved for implementation this week:
134246
135- <!-- Approved RFCs go here, use this format: * [Topic](URL) -->
136- <!-- or if none were approved this week, use: * *No RFCs were approved this week.* -->
137- <!-- * []() -->
138-
139- <!--
140- ### [Approved Major Change Proposals (MCP)](https://forge.rust-lang.org/compiler/mcp.html)
141- <!~~ MCPs occur infrequently, so this section is commented out by default. ~~>
142- <!~~ MCPs which have been approved or rejected this week go here, use this format: * [major change accepted|rejected] [Topic](URL) ~~>
143- -->
247+ * * No RFCs were approved this week.*
144248
145249### Final Comment Period
146250
147251Every week, [ the team] ( https://www.rust-lang.org/team.html ) announces the 'final comment period' for RFCs and key PRs
148252which are reaching a decision. Express your opinions now.
149253
150254#### [ RFCs] ( https://github.com/rust-lang/rfcs/labels/final-comment-period )
151- <!-- RFCs which have entered FCP go here, use this format: * [disposition: merge|close] [Topic](URL) -->
152- <!-- or if none entered FCP this week, use: * *No RFCs entered Final Comment Period this week.* -->
153- <!-- * [disposition: ] []() -->
255+ * [ Supertrait item shadowing v2] ( https://github.com/rust-lang/rfcs/pull/3624 )
154256
155257#### Tracking Issues & PRs
156- <!-- Tracking Issues which have entered FCP go here, use this format: * [disposition: merge|close] [Topic](URL) -->
157- <!-- or if none entered FCP this week, use: -->
158- <!-- * *No Tracking Issues or PRs entered Final Comment Period this week.* -->
159- <!-- * [disposition: ] []() -->
160-
161258##### [ Rust] ( https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc )
259+ * [ remove support for the (unstable) #[ start] attribute] ( https://github.com/rust-lang/rust/pull/134299 )
260+ * [ fully de-stabilize all custom inner attributes] ( https://github.com/rust-lang/rust/pull/134276 )
261+ * [ Uplift ` clippy::double_neg ` lint as ` double_negations ` ] ( https://github.com/rust-lang/rust/pull/126604 )
262+ * [ Optimize ` Seek::stream ` _ len impl for File] ( https://github.com/rust-lang/rust/pull/125087 )
263+ * [[ rustdoc] Add sans-serif font setting] ( https://github.com/rust-lang/rust/pull/133636 )
264+ * [ Tracking Issue for PathBuf::add_extension and Path::with_added_extension] ( https://github.com/rust-lang/rust/issues/127292 )
265+ * [ Make the wasm_c_abi future compat warning a hard error] ( https://github.com/rust-lang/rust/pull/133951 )
266+ * [ const-eval: detect more pointers as definitely not-null] ( https://github.com/rust-lang/rust/pull/133700 )
267+ * [ Consider fields to be inhabited if they are unstable] ( https://github.com/rust-lang/rust/pull/133889 )
268+ * [ disallow repr() on invalid items] ( https://github.com/rust-lang/rust/pull/133925 )
162269
163270##### [ Cargo] ( https://github.com/rust-lang/cargo/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc )
271+ * * No Cargo Tracking Issues or PRs entered Final Comment Period this week.*
164272
165273##### [ Language Team] ( https://github.com/rust-lang/lang-team/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc+ )
274+ * * No Language Team Proposals entered Final Comment Period this week.*
166275
167276##### [ Language Reference] ( https://github.com/rust-lang/reference/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc )
277+ * [ distinct 'static' items never overlap] ( https://github.com/rust-lang/reference/pull/1657 )
168278
169279##### [ Unsafe Code Guidelines] ( https://github.com/rust-lang/unsafe-code-guidelines/issues?q=is%3Aopen+label%3Afinal-comment-period+sort%3Aupdated-desc )
280+ * * No Unsafe Code Guideline Tracking Issues or PRs entered Final Comment Period this week.*
170281
171282#### [ New and Updated RFCs] ( https://github.com/rust-lang/rfcs/pulls )
172- <!-- New or updated RFCs go here, use this format: * [new|updated] [Topic](URL) -->
173- <!-- or if there are no new or updated RFCs this week, use: -->
174- <!-- * *No New or Updated RFCs were created this week.* -->
175- <!-- * [new|updated] []() -->
283+ * [ Make trait methods callable in const contexts] ( https://github.com/rust-lang/rfcs/pull/3762 )
284+ * [ RFC: Allow packages to specify a set of supported targets] ( https://github.com/rust-lang/rfcs/pull/3759 )
176285
177286## Upcoming Events
178287
@@ -310,7 +419,11 @@ Please see the latest [Who's Hiring thread on r/rust](INSERT_LINK_HERE)
310419
311420# Quote of the Week
312421
313- <!-- QOTW goes here -->
422+ > This is a wonderful unsoundness and I am incredibly excited about it :3
423+
424+ – [ lcnr on github] ( https://github.com/rust-lang/rust/issues/135011#issuecomment-2573248261 )
425+
426+ Thanks to [ Christoph Grenz] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328/1650 ) for the suggestion!
314427
315428[ Please submit quotes and vote for next week!] ( https://users.rust-lang.org/t/twir-quote-of-the-week/328 )
316429
0 commit comments