# FW/HW Bi-Weekly Status Update - 2025-1 > **Editing note:** For meeting updates preceding biweekly joint FW/HW meetings, updates should be added to the upcoming meeting date. For ease of editing, updates can be added piecemeal as tasks are completed. Link to 2nd half of 2024: https://hackmd.io/dTX_i_obS4S1zkWfqTX45g --- For 2nd half of 2025, Please go to http://hackmd.io/8vYenHJTTV-V8GlHpof-UA?both --- ## May 13, 2025 ### RustWeek 2025 (10th anniversary) ## May 06, 2025 ### Nick - Helping Jakub update all the primary benchmarks in rustc-perf. We do this every three years to ensure we are benchmarking up-to-date code. - Some major improvements to HIR pretty-printing correctness and prettiness, e.g. [#140316](https://github.com/rust-lang/rust/pull/140316), [#140606](https://github.com/rust-lang/rust/pull/140606). ## April 22, 2025 ### Nick - Finally merged the last parts of [Nonterminal removal](https://github.com/rust-lang/rust/pull/124141), hooray! - Removed a bunch of dubious uses of `kw::Empty`, fixing some minor bugs in the process. ### Ed - Made many improvements to `toml-test-rs` which is a Rust port of the TOML compliance suite - Split `toml_write` out of `toml_edit` so others can use it - Refactoring `toml` and `toml_edits`s tests so `toml` can switch to `toml_write` from `toml_edit` - Work on `toml_parse` which is a new parser that I'm looking to switch `toml_edit` and `toml` to - See https://hachyderm.io/@epage/114355156392923682 for benefits - Providing feedback on facet ### Jakub - Worked on enabling PGO for GitHub-distributed builds of Rust Analyzer, which made it faster by ~20% on Linux, Windows and macOS. - Started working on the 2025 benchmark update of the rustc-perf suite with Nick. - Implemented new assignment logic based on review preferences in triagebot. - Implemented a dashboard for examining what tests we execute on CI across all jobs, stages and targets. - Started backporting unmanaged repositories from other organizations than rust-lang into the `team` repository. - Did a bunch of bootstrap/bors/CI reviews. ### Jane Losare-Lusby (yaahc) - landed PR fixing ICE when unstable feature usage metrics are enabled alongside incremental compilation - tested fix against top 100 crates and their dependencies - coordinate with infra to get grafana and influxdb servers setup under rust-lang/infra team and gained access - wrote a more detailed progress update on project goal available here: https://github.com/rust-lang/rust-project-goals/issues/260#issuecomment-2810680086 - purchased car! :tada: ### Vadim - Debugged and fixed a major perf regression on beta compiler (#139878). - Continued with some compiler testing infra improvements (#139555, #139618, #139720, #139760). ## April 8, 2025 ### lcnr - continue to work on https://github.com/rust-lang/types-team/issues/129, getting close to finished - multiple rather large PRs already merged [merge `TypeChecker` and `TypeVerifier`](https://github.com/rust-lang/rust/pull/138357), [remove `feature(inline_const_pat)`](https://github.com/rust-lang/rust/pull/138492), [merge opaque types defined in nested bodies](https://github.com/rust-lang/rust/pull/138719), [add `TypingMode::Borrowck`](https://github.com/rust-lang/rust/pull/138785), - revealing uses of opaque types now work correctly, but still need diagnostics fixes - merging borrowck with nested items is the only other remaining change and, after [borrowck typeck children together with their root](https://github.com/rust-lang/rust/pull/138499) lands, this should be doable in about a day - we fixed two smaller issues tracked by https://github.com/orgs/rust-lang/projects/61/views/1 - [hopefully irrelevant candidate behavior difference of Sized/trivial builtin impls](https://github.com/rust-lang/trait-system-refactor-initiative/issues/162) - [bevy implied bounds hack no longer works](https://github.com/rust-lang/trait-system-refactor-initiative/issues/164) ### Jakub - Finished the merge of the `team` and `sync-team` repositories. Now it is much easier for us to make changes to team/repo automation. - Also finally got `rust-lang/rust` to be managed by `team`. - Did a lot of reviews on new bors and triagebot. - Worked with Rémy to prepare the LLD stabilization report, it is almost ready, hopefully we will publish it in the upcoming days. - Prepared Cargo integration of the new `-Zembed-metadata` flag thas has recently landed in rustc. - Improved various CI workflows. ### Vadim - Temporarily switched to non-Rust work until ~May. - Doing some compiler testing infra improvements in the background (#139100, #139122, #139137, #139427, #139485, #139489). - Landed one compiler perf improvement (#139281), which includes removing locks in parallel compilation. ### Guillaume Finished the implementation of the RFC 3631. Created the new `rustc-literal-escaper` which handles unescaping of literals. It allowed to add new proc-macro API which, in the end, should allow to greatly reduce size of proc-macro crates (like `syn`/`proc-macro2`), meaning smaller compile times. #### GCC * [Remove attributes declaration duplication](https://github.com/rust-lang/gcc/pull/67) #### libproc-macro * [Add `*_value` methods to proc_macro lib](https://github.com/rust-lang/rust/pull/139367) #### libstd * [Add integer to string formatting tests](https://github.com/rust-lang/rust/pull/138546) * [Mention env and option_env macros in std::env::var docs](https://github.com/rust-lang/rust/pull/138189) #### rustdoc * [Finished implementation of RFC 3631](https://github.com/rust-lang/rust/pull/138907) * [Fix 2024 edition doctest panic output](https://github.com/rust-lang/rust/pull/139328) * [Remove unused variables generated in merged doctests](https://github.com/rust-lang/rust/pull/139255) * [Remove duplicated loop when computing doc cfgs](https://github.com/rust-lang/rust/pull/138755) * [Small code improvement in rustdoc hidden stripper](https://github.com/rust-lang/rust/pull/138167) #### docs.rs * [Fix source code UI bugs](https://github.com/rust-lang/docs.rs/pull/2792) * [Update to new rinja version (askama 0.13)](https://github.com/rust-lang/docs.rs/pull/2789) * [Remove humantime dependency](https://github.com/rust-lang/docs.rs/pull/2771) #### clippy * [Update to new rinja version (askama)](https://github.com/rust-lang/rust-clippy/pull/14530) * [Make annotations mandatory for internal ui tests](https://github.com/rust-lang/rust-clippy/pull/14393) * [Improve string_to_string lint in case it is in a map call](https://github.com/rust-lang/rust-clippy/pull/14396) #### mdbook * [Speed up search index loading](https://github.com/rust-lang/mdBook/pull/2633) * [Simplify resources location](https://github.com/rust-lang/mdBook/pull/2625) ### Jane Losare-Lusby * GOSIM Judging process * Finished PR to update naming to avoid overwriting metrics when build configuration changes * Discovered ICE caused by enabling metrics, diagnosed and found it related to the naming change, Resolved, PR currently in flight * Up next testing top 100 crates with metrics enabled * Purchasing a car ### Santiago - Compiler / T-types - dyn dispatch via a proc macro - Got an email from a big user of dynosaur, commenting on their experience using the crate. Is quite nice for them, some positive things but also they pointed out to a couple of things that we may want to address. Most of the things commented were already open as issues and I’m working to fix them. - Started work on the last batch of remaining issues for 0.3.0. - ergonomic ref-counting - The main thing is that codegen optimization PR is open https://github.com/rust-lang/rust/pull/139088 I’ve also fixed a little performance compile time regression for this PR. I’m pushing to add some extra tests too https://github.com/rust-lang/rust/pull/138628 and https://github.com/rust-lang/rust/pull/138470. - Everything is waiting on Niko. - project goals - March blog post PR is up https://blog.rust-lang.org/2025/04/08/Project-Goals-2025-March-Update.html ## March 25, 2025 ### Nick - Blog post: [How to speed up the Rust compiler in March 2025](https://nnethercote.github.io/2025/03/19/how-to-speed-up-the-rust-compiler-in-march-2025.html) - [#138083](https://github.com/rust-lang/rust/pull/138083). Another `Nonterminal` removal step completed, removing `NtItem` and `NtStmt`. - [#137930](https://github.com/rust-lang/rust/pull/137930/): Enabled `-Wunused-crate-dependencies` within the compiler. Detects unnecessary dependencies in `Cargo.toml` files, yay. Took several attempts to find the right way to specify this lint in bootstrap. - `kw::Empty` removal progress: [#138685](https://github.com/rust-lang/rust/pull/138685/), [#138384](https://github.com/rust-lang/rust/pull/138384/), [#138588](https://github.com/rust-lang/rust/pull/138588/), [#138482](https://github.com/rust-lang/rust/pull/138482/), [#138347](https://github.com/rust-lang/rust/pull/138347/). - [#137586](https://github.com/rust-lang/rust/pull/137586/): Speed up target feature computation. Up to 10% icount wins on very short running compilations. - A couple of other minor PRs. ### Ed - Presented at Rust in Paris ([slides](https://epage.github.io/talks/2025/03/nav-rfc/#p1)) - Issue triage, particularly catching up from time spent traveling - Bug fixes - Took my daughters camping as part of Spring Break ### Jakub - Continued design work with the ARM team to add multiple collector machines to rustc-perf. - Continued work on enabling download of GCC from CI. To unblock that, performed a large refactoring of modified path detection in bootstrap ([#138591](https://github.com/rust-lang/rust/pull/138591), [#138704](https://github.com/rust-lang/rust/pull/138704), [#138706](https://github.com/rust-lang/rust/pull/138706)). - Improved the CI analysis reports ([#138930](https://github.com/rust-lang/rust/pull/138930), [#138834](https://github.com/rust-lang/rust/pull/138834), [#138656](https://github.com/rust-lang/rust/pull/138656), [#138531](https://github.com/rust-lang/rust/pull/138531), [#138454](https://github.com/rust-lang/rust/pull/138454), [#138396](https://github.com/rust-lang/rust/pull/138396), [#138268](https://github.com/rust-lang/rust/pull/138268), [#138223](https://github.com/rust-lang/rust/pull/138223)). - Prepared MCP for `-Zsplit-metadata`. - Started working on merging the `team` and `sync-team` repositories. - Pushed LLD stabilization forward ([#138645](https://github.com/rust-lang/rust/pull/138645)). - Did a lot of reviews on the bors repository. - Joined the compiler team :tada:. ### Vadim - Cleared the review backlog, including a number of large PRs (`extern dyn crate`, new iteration of `cfg(accessible)`, lints for proc macros). - Notable rustc changes - compiletest: Support matching on diagnostics without a span #138865 - linker: Move native library search from linker to rustc #138753 - expand: Leave traces when expanding cfg attributes #138844 / expand: Leave traces when expanding cfg_attr attributes #138515 - Some other rustc fixes for privacy, hygiene and linking ### Jane - Tested new output with timestamps and confirmed changes are ready for docs.rs test dataset gathering - PR to finalize metrics file naming to prevent collisions - supporting gosim rust spotlight judging process - annoyed at local city government for not paying transit workers enough, strike is making my life difficult ### Santiago - Compiler / T-types - dyn dispatch via a proc macro - Have released 0.2.0 - ergonomic ref-counting - Working now on optimizations, right now going adding a new TerminatorKind variant to handle use after monomorphization and that would allow to do the optimizations like changing the last clone with a move. - Also dealing with this terminator in const_eval. - project goals - getting project goals updates up to date so we can do in the next couple of days the blog post. - vision doc - progress being made, we had a meeting and we are about to start doing interviews. - Gave a talk for the Perú community about Rust. While doing that found some weird things in our website and started discussions about it. In particular with the foundation. ## March 11, 2025 ### Jane * coordinated with docs.rs team to plan for test dataset gathering * meet with lang this morning to discuss metrics initiative and their needs * evaluated different options for updates to disk format for metrics but decided to defer that work until I've gathered more experience, json should be adequate for current PoC goals. * updated json output to include timestamps * Wrote progress update for metrics initiative project goal tracking issue: https://github.com/rust-lang/rust-project-goals/issues/260 ### Nick - [#137517](https://github.com/rust-lang/rust/pull/137517). Another `Nonterminal` removal step completed, removing `NtPat`, `NtMeta`, and `NtPath`. - Some minor perf improvements: - [#137704](https://github.com/rust-lang/rust/pull/137704): Optimize empty provenance range checks. - [#137655](https://github.com/rust-lang/rust/pull/137655): Split the `Edges` iterator. - [#137695](https://github.com/rust-lang/rust/pull/137695): Always inline `query_get_at`. - Fixed a crash in [#137695](https://github.com/rust-lang/rust/pull/137977): Reduce kw::Empty usage, part 1 - Implemented 2/3 of [MCP 831: Clean up operator representations](https://github.com/rust-lang/compiler-team/issues/831), a token/AST cleanup ([#136846](https://github.com/rust-lang/rust/pull/136846) and [#137902](https://github.com/rust-lang/rust/pull/137902)) - Some other minor cleanup PRs ### lcnr - both cycle handling PRs fixing nalgebra are now ready. The first one is already merged while the second one has been approved and is waiting on bors - looked more deeply into the hang in rayon and have a far better understanding of the issue now, allowing us to potentially not need a fast path for it - reviewed multiple large PRs, most notably `type_alias_impl_trait` now uses a `#[define_opaque]` attribute - working on https://github.com/rust-lang/types-team/issues/129 now, cleaning up related issues while doing so ### Guillaume Working on Rust in Paris conference (and my talk), big issue with docs.rs because of a change in rustup. #### library [Mention `env` and `option_env` macros in `std::env::var` docs](https://github.com/rust-lang/rust/pull/138189) #### rustdoc * [Greatly simplify doctest parsing and information extraction](https://github.com/rust-lang/rust/pull/138104) * [Add new unused_footnote_definition rustdoc lint](https://github.com/rust-lang/rust/pull/137858) * [Add new rustdoc broken_footnote lint](https://github.com/rust-lang/rust/pull/137803) * [Fully qualify Result in generated doctest code](https://github.com/rust-lang/rust/pull/137807) * [Add missing case explanation for doc inlined re-export of doc hidden item](https://github.com/rust-lang/rust/pull/137719) * [Add rustdoc support for `--emit=dep-info[=path]`](https://github.com/rust-lang/rust/pull/137684) #### clippy * [Add missing tests annotations for `ui-internal`](https://github.com/rust-lang/rust-clippy/pull/14388) #### mdBook * [Allow to run only some specific GUI tests](https://github.com/rust-lang/mdBook/pull/2590) * [Fix eslint warnings and add eslint check in CI](https://github.com/rust-lang/mdBook/pull/2554) * [Only load searchindex when needed](https://github.com/rust-lang/mdBook/pull/2553) * [Remove JSON search file](https://github.com/rust-lang/mdBook/pull/2552) #### libc [Add missing macos proc types and constants](https://github.com/rust-lang/libc/pull/4310) #### docs.rs With new rustup release, docs.rs completely broke down and wasn't able to generate new documentation. It was a bug with soft links handling in docker. Normally the new rustup version fixed this regression but we didn't try it out yet. * [Increase the width of search input in navbar](https://github.com/rust-lang/docs.rs/pull/2761) ### Ed - Working on my Rust in Paris talk which also involes RFC note taking more generally - Some (slow) progress on my cargo script frontmatter PR - Starting to get back to my libtest json work - Implementing my RFC for deprecated `<target>.edition` - Threw in a nice visualizer into `typos` to help users: https://github.com/crate-ci/typos/pull/1257 - Threw in coloring for `cargo tree` https://github.com/rust-lang/cargo/pull/15242 - And `--depth public` for help with public dependenices - Both were preceded by `cargo tree` clean up - Dug into updated behavior for public/private dependencies and discussed paths forward - Cargo blog post ### Vadim - Continued processing review backlog, which is still quite large. - Sent some maintenance PRs to rustc, mostly related to the reviewed PRs and my working setup. - Native library search (#138170, #138273), type privacy lints (#138317), escaping for LLD inputs (#137676), tests on Windows (#137543). ### Jakub - Worked on building GCC in CI. It will now be possible to download pre-built GCC from CI, making it much easier to work on the GCC codegen backend (https://github.com/rust-lang/rust/pull/137667, https://github.com/rust-lang/rust/pull/138232, https://github.com/rust-lang/rust/pull/138051) - Fixing all sorts of fires in infrastructure and CI (GitHub runner MSVC update, network timeouts, rustup update, rustc-perf database instability) - Prepared GSoC announcement blog post, started reviewing GSoC PRs to the bors bot. - Moved LLD stabilization forward, triaged issues and implemented a test for the conservative `-znostart-stop-gc` behavior. - Fixed compilation of stable benchmarks and various other issues in rustc-perf. - Implemented a dry-run workflow for `team` and `sync-team`. - Implemented a post-merge analysis workflow for `rust-lang/rust`. - Refactored PR assignment loading in triagebot, implemented setting PR assignment limit. - Implemented support for glob patterns for custom try-jobs on rustc PRs. ### Santiago - Compiler / T-types - dyn dispatch via a proc macro - Expand APITs to make them work for dynamic dispatch in traits #59 https://github.com/spastorino/dynosaur/pull/59 merged - After this we’ve made a planning and included new interesting things for v1.0 https://github.com/spastorino/dynosaur/issues?q=is%3Aissue%20state%3Aopen%20milestone%3Av1.0 - Also with this PR I was supposed to do a release but given that we are including a breaking change and so we would need to bump the minor version, I'm going to implement other features that also would include breaking changes and place them all in 0.2.0. - ergonomic ref-counting - The main PR that includes the implementation of this and is feature complete landed. https://github.com/rust-lang/rust/pull/134797 - We had a meeting with Niko to discuss further and next steps and I would need to start now working on optimizations. - project goals and vision doc - Discussions continue but nothing major has happened - project directors - We have the board meeting today - A lot of things confidential as always but people can find out older meetings through Carol's blog posts or minutes made by foundation staff - We started a discussion to explore how can they collaborate on the project website, in particular on the production section of the project website that was very outdated. ## February 25, 2025 ### Jane - Finished proof of concept dashboard showing unstable feature usage statistics ![example using rustc feature usage metrics](https://i.imgur.com/Mefq8Me.png) ### Nick - Another dozen or so `rustc_middle` cleanups. - Started merging `Nonterminal` removal, finally! [#133436](https://github.com/rust-lang/rust/pull/133436) is the first of several PRs. ### Jakub - Finished analysis of the State of Rust 2024 survey, finished blog post, started discussion about the purpose of the survey. - Rewrote some of our CI tooling from Python to Rust, implemented new features in it (https://github.com/rust-lang/rust/pull/136864, https://github.com/rust-lang/rust/pull/136977, https://github.com/rust-lang/rust/pull/137077). - Examined our usage of sccache in CI, updated the used sccache version. - Continued Rémy's work on stabilizing the LLD linker, triaged a bunch of issues, prepared a [Crater experiment](https://github.com/rust-lang/rust/pull/137044), prepared a draft [stabilization report](https://hackmd.io/tFDifkUcSLGoHPBRIl0z8w). - Led various discussions about GSoC projects and kept updating the GSoC [project idea list](https://github.com/rust-lang/google-summer-of-code). - Worked on refactoring triagebot, trying to push the new reviewer assignment logic forward (https://github.com/rust-lang/triagebot/pull/1892, https://github.com/rust-lang/triagebot/pull/1905, https://github.com/rust-lang/triagebot/pull/1906, https://github.com/rust-lang/triagebot/pull/1908). - Implemented a dry-run workflow for the team repository, which should enable us to be more confident when making changes in the team repo (https://github.com/rust-lang/team/pull/1663, https://github.com/rust-lang/sync-team/pull/100). - Restarted work on `-Zsplit-metadata` (originally implemented by @bjorn3), which has the potential to significantly reduce `target` directory disk usage (https://github.com/rust-lang/rust/pull/137535). - Made various improvements and reviews to bootstrap (https://github.com/rust-lang/rust/pull/137373). - Continued work on building GCC on our CI, to make it easier for contributors to work on the GCC codegen backend (https://github.com/rust-lang/rust/pull/136921). - Started mentoring a student to work on a rust-lang/rust CI dashboard, to let us know what is going on inside the repository. ### lcnr - fixed multiple smaller blockers for the next-trait solver - creating and maintaining a project board has been very effective https://github.com/orgs/rust-lang/projects/61 - continued work on cycle handling, cleaning up my PR and splitting it into 2 separate ones - documented and refined my reasoning, had a meeting with Niko about it, will meet with errs to go through it as well - a fix to impl well-formedness checks ended up causing rayon to hang with the new solver, minimized and fixed this new regression with `-Znext-solver=globally` ### Guillaume Many "background" works that allowed some of the items here and more to come. #### rustdoc * [Correctly escape hashtags when running invalid_rust_codeblocks lint](https://github.com/rust-lang/rust/pull/136927) * [Add new setting to wrap source code lines when too long](https://github.com/rust-lang/rust/pull/136991) #### docs.rs * [Improve display of licenses link in topbar](https://github.com/rust-lang/docs.rs/pull/2740) #### mdBook * [Remove JSON search file](https://github.com/rust-lang/mdBook/pull/2552) * [Only load searchindex when needed](https://github.com/rust-lang/mdBook/pull/2553) * [Fix eslint warnings and add eslint check in CI](https://github.com/rust-lang/mdBook/pull/2554) ### Ed - Work on new Cargo blog post - Winnow 0.7 feedback - cargo script frontmatter syntax support in rustc - [New RFC](https://github.com/rust-lang/rfcs/pull/3772) ### Santiago - Compiler / T-types - dyn dispatch via a proc macro - After the v0.1.3 I’ve added a couple of more things and going to release 0.1.4 likely this week - Properly generate unrecheable code for non async fns #56 https://github.com/spastorino/dynosaur/pull/56 - Add ability to handle DynTrait visibility #58 https://github.com/spastorino/dynosaur/pull/58 - Expand APITs to make them work for dynamic dispatch in traits #59 https://github.com/spastorino/dynosaur/pull/59 (not merged yet) - ergonomic ref-counting - Fixed the mutation issue we had https://github.com/rust-lang/rust/pull/134797/commits/3aa5741b90301f847ae5caad7c27f6aee8aefc64 - Fail gracefully if mutating on a use closure and the closure it not declared mut https://github.com/rust-lang/rust/pull/134797/commits/6d07e6e03dea36162d57a790405f16e73dfa4488 - Added more tests https://github.com/rust-lang/rust/pull/134797/commits/a5eb05cf9d2b9a2ec61ad92350f0dc39a27b89bc - Give a better error message on async use in edition 2015 https://github.com/rust-lang/rust/pull/134797/commits/a6ca320557b1b034c759d34e7802738189bfb34d - Addressed all the comments made to the PR and polished it a lot - project goals - The RFC is merged - Improved scripts to be able to properly synchronize tracking issues - Handle ability to change milestone #249 https://github.com/rust-lang/rust-project-goals/pull/249 - Fix list issues in milestone #250 https://github.com/rust-lang/rust-project-goals/pull/250 - Avoid fetching a whole list, just redirectly look for the issue by id or title #288 https://github.com/rust-lang/rust-project-goals/pull/288 ### Amanieu - Continuing work on regalloc3: current focus is on improving compilation speed, got a 10% speedup so far but there is still a lot of room for improvment. - Added a GSOC project for intrinsic testing in stdarch: https://github.com/rust-lang/google-summer-of-code/pull/26 - Experimenting with improved backtrace support in rayon by doing cross-thread stack unwinding. ### Vadim - Returned to work - Started processing review backlog, which got quite large ### Jack - Continuing work on rust-analyzer next-trait-solver impl - Finished "normal" closure inference and lifetime lowering - Currently looking into doing async closure + coroutine inference - Talked to Niko about vision doc, planned out timeline + goals ## February 11, 2025 ### Jane Losare-Lusby - switch to influxdb3 core alpha release - setup graphana dashboard - landed pr adding feature-status-dump tool to rustc repo's tools directory - draft selection guidelines for gosim innovation award - 2025 goal setting - currently working on figuring out correct schema and queries to produce desired dashboards in graphana for Proof of Concept ### Nick - Going through `rustc_middle`, the biggest crate in the compiler. Shrinking it where possible, and making other cleanups, e.g.: [#136330](https://github.com/rust-lang/rust/pull/136330), [#136336](https://github.com/rust-lang/rust/pull/136336), [#136422](https://github.com/rust-lang/rust/pull/136422), [#136425](https://github.com/rust-lang/rust/pull/136425), [#136455](https://github.com/rust-lang/rust/pull/136455), [#136464](https://github.com/rust-lang/rust/pull/136464), [#136465](https://github.com/rust-lang/rust/pull/136465), [#136466](https://github.com/rust-lang/rust/pull/136466), [#136563](https://github.com/rust-lang/rust/pull/136563). The is a prelude to me trying to understand the query system better. ### Jakub - Worked on CI various improvements (https://github.com/rust-lang/rust/pull/136864, rustc-dev-guide CI). - Moved `x perf` directly into bootstrap, to improve its UX. - The rest was diaper duty, so didn't do all that much this time :) ### lcnr - working on cycle handling in Rust, have a working PR which still needs cleanup + writeup, nalgebra now compiles with `-Znext-solver` - only failing compile-time benchmarks are - `gll` due to opaque types handling for which the types team FCP is now finished https://github.com/rust-lang/types-team/issues/129 - and one other test due to a change to the required recursion depth causing an overflow error - created a project board for the new trait solver https://github.com/orgs/rust-lang/projects/61 - laying out our issues this way allowed me and especially @compiler-errors to already fix multiple of the smaller remaining issues ### Guillaume Working on the final parts of the Rust in Paris conference. #### rustc * [Add rustc_hir_pretty::item_to_string function](https://github.com/rust-lang/rust/pull/136644) * [Add rustc_hir_pretty::expr_to_string function](https://github.com/rust-lang/rust/pull/136591) * [Enable "jump to def" feature on rustc docs](https://github.com/rust-lang/rust/pull/136589) #### rustdoc * [Improve display of prev/next scraped examples buttons](https://github.com/rust-lang/rust/pull/136870) * [Move line numbers into the `<code>` directly](https://github.com/rust-lang/rust/pull/136829) This is the first step to add the possibility to wrap code examples and also to add "expand macro" feature in source code pages #### libs * [Add `*_value` methods to proc_macro lib](https://github.com/rust-lang/rust/pull/136355): Will allow to greatly reduce the size of `syn` (and also make it easier to not redo this every time a proc-macro crate wants to parse literals) * [Optimize ToString implementation for integers](https://github.com/rust-lang/rust/pull/136264) #### docs.rs * [Fix display of long crates name in release list](https://github.com/rust-lang/docs.rs/pull/2734) ### Santiago - Compiler / T-types - dyn dispatch via a proc macro - v0.1.3 released, this includes: - DynTrait has the same visibility of original trait - Remove DynMyTrait's new constructor, so we can be allocation free in a world where #25 is supported - Properly handle functions that do not return RPITs - Properly support non future RPITs - Expand wild patterns in args - Lifetimes mentioned in return type also matter - Structure the code better - ergonomic ref-counting - Make parser support nested use closures (local branch) - Fix use closure parsing error message when using a keyword after the use, like use move || {}, we are reporting a better error now - vision doc - We had our first meeting, we've made a little plan and are going to start looking to meet interested parties - project goals - We’ve coordinated with leads and everyone has checked their boxes so, is in FCP and will be merged in Feb 18 ### Ed Page - Wrapped up winnow 0.7 work, including updating every dependent that I've previously touched - Updating of my `nits` RFC - Getting back into cargo script - Triage - Email catch up ## February 5, 2025 ### Jane Losare-Lusby - switch to influxdb3 core alpha release - setup graphana dashboard - landed pr adding feature-status-dump tool to rustc repo's tools directory - draft selection guidelines for gosim innovation award - 2025 goal setting ## January 28, 2025 ### Nick - Back from five weeks of vacation. - Before I left: - Got some nice [parsing speed ups](https://github.com/rust-lang/rust/pull/133793). - Wrote a blog post [Streamlined dataflow analysis code in rustc](https://nnethercote.github.io/2024/12/19/streamlined-dataflow-analysis-code-in-rustc.html). ### lcnr - fixed hang caused by `-Znext-solver=coherence` stabilization - found new issue with opaque types in the new solver, requires a more complex change which will also affect the new solver and unblock the stabilization of TAIT even with the old solver - https://github.com/rust-lang/types-team/issues/129 - triaged all UI tests with the new solver enabled, fixing a lot of the remaining issues and opened issues in the https://github.com/rust-lang/trait-system-refactor-initiative for the rest ### Guillaume - Organizing the rust in paris conference - Had meetings with RfL for things they need in rustdoc ### Jakub - Worked on getting GCC to execute in CI. - Wrote a test suite for triagebot, helped with improving its debugging story. - Investigated a LLD bug related to CUDA (one of many things towards stabilizing LLD by default on Linux). - Prepared project proposals and project ranking template for GSoC 2025. - Prepared State of Rust 2024 results blog post. #### rustdoc Working on adding the new option to extract doctests for RfL. - [Fix indent of trait items on mobile](https://github.com/rust-lang/rust/pull/135998) - [Remove unused `item-row` CSS class](https://github.com/rust-lang/rust/pull/135685) - [Replace module list items `ul`/`li` with `dl`/`dd`/`dt` elements](https://github.com/rust-lang/rust/pull/135641) - [Add GUI test for #135499](https://github.com/rust-lang/rust/pull/135535) - [Fix clippy lints in rustdoc](https://github.com/rust-lang/rust/pull/135505) - [Add sans-serif setting](https://github.com/rust-lang/rust/pull/133636) - [Do not emit missing_doc_code_examples rustdoc lint on module and a few other items](https://github.com/rust-lang/rust/pull/133595) - [Add missing code examples on `LocalKey`](https://github.com/rust-lang/rust/pull/133498) - [Fix Result and Option not getting a jump to def link generated](https://github.com/rust-lang/rust/pull/133458) - [Fix items with generics not having their jump to def link generated](https://github.com/rust-lang/rust/pull/133180) #### std - [Add code example for wrapping_neg method for signed integers](https://github.com/rust-lang/rust/pull/133301) - [Reduce integer Display implementation size](https://github.com/rust-lang/rust/pull/133247) #### rustc - [Add UnordMap::clear method](https://github.com/rust-lang/rust/pull/133257) #### GCC backend Working with Jakub on the integration in `bootstrap`. - [subtree sync](https://github.com/rust-lang/rust/pull/136024) - [Fix `--use-system-gcc` option handling](https://github.com/rust-lang/rustc_codegen_gcc/pull/609) - [Add `--gcc-path` option](https://github.com/rust-lang/rustc_codegen_gcc/pull/608) #### clippy - [Don't emit machine applicable map_flatten lint if there are code comments](https://github.com/rust-lang/rust-clippy/pull/13940) - [Fix single_match lint being emitted when it should not](https://github.com/rust-lang/rust-clippy/pull/13765) - [Fix large_include_file lint being triggered all the time by doc comments](https://github.com/rust-lang/rust-clippy/pull/13672) #### mdbook - [Fix display of sidebar when JS is disabled](https://github.com/rust-lang/mdBook/pull/2529) - [Add base for GUI tests](https://github.com/rust-lang/mdBook/pull/2476) #### docs.rs - [Fix crate-level docs not being rendered correctly if there is no readme](https://github.com/rust-lang/docs.rs/pull/2726) - [Display crates not available on docs.rs in search results](https://github.com/rust-lang/docs.rs/pull/2709) - [Add information on how crate sizes are computed](https://github.com/rust-lang/docs.rs/pull/2665) - [Fix display of documentation button icon](https://github.com/rust-lang/docs.rs/pull/2664) #### libc - [Add missing sysctl net types for mac](https://github.com/rust-lang/libc/pull/4022) ### Ed Page - Reworked Winnow to make a feature (`ErrMode`) optional, making it more straightforward and faster - Dealing with XDG, resolver, and other discussions - Helping to polish the [supported-targets RFC](https://github.com/rust-lang/rfcs/pull/3759) ### Santiago - Catching up after vacations - Compiler / T-types - dyn dispatch via a proc macro - Addressed the easy one out of the 2 remaining issues for v1 [https://github.com/spastorino/dynosaur/pull/41](https://github.com/spastorino/dynosaur/pull/41 "smartCard-inline") - Working on the remaining one - ergonomic ref-counting - Didn’t do much after vacations but I’ve opened a PR [https://github.com/rust-lang/rust/pull/134797](https://github.com/rust-lang/rust/pull/134797 "smartCard-inline") but is WIP as there are some issues to fix yet. - rust analyzer / new solver integration - I’m helping Jack a little bit, currently working on a consteval test failure ### Nick - Back from five weeks of vacation. - Before I left: - Got some nice [parsing speed ups](https://github.com/rust-lang/rust/pull/133793). - Wrote a blog post [Streamlined dataflow analysis code in rustc](https://nnethercote.github.io/2024/12/19/streamlined-dataflow-analysis-code-in-rustc.html). ## January 14, 2025 ### Ed Page - Wrote up [gsoc projects](https://github.com/rust-lang/google-summer-of-code/pull/11) - Responding to issues and PRs - Lots of PRs against `winnow` in prep for 0.7 - Major clean up of `config` - Cleaned up JSON Schema support for `Cargo.toml` and added support for some of my tools - Ported sqlformat to winnow (merged) - Ported HdrHistogram to winnow (no response) - Finished rinja's port to winnow ### Jane Losare-Lusby - settled on using influxdb - working on PoC using sample dataset of feature usage derived from rustc dependency tree - currently exploring and learning how to use influxdb, particularly the schema design and query language ### lcnr - new solver in coherence is now on stable - causes a new hang, minimized by @lqd, expect that I can fix it without a revert - working on opaque types in closures, making big progress, the approach works, still needs significant cleanup right now ### Jakub - Finished the move of rustc-dev-guide to a Josh subtree. - Prepared a report and a blog post with the results of the State of Rust 2024 survey. - Made it easier to run CI jobs locally. - Worked on building GCC on CI. - Worked on minimizing a LLD bug with CUDA code. - A lot of infra, CI and bootstrap reviews.