# Compiler Team Project Goal Review 2024-12-20
## Meeting goals
* Review project goals proposed for 2025H1
* Surface any concerns so those concerns can be brought back to the goal proposals
## How to read a goal proposal
* Make sure you agree with steps proposed for the next 6 months
* To help avoid undue stress, look for unrealistically ambitious goals -- let's scale those back (features don't usually go from design to stabilization in 6 months, for example...).
* Look at who is doing the implementation: do you think they've got the background and skills needed?
* If not, maybe we should assign them a mentor.
* Make sure you are generally aligned with the shiny future goals.
* You're not committing to anything now, and certainly not to the details, but it's unfair to the person doing the work to have them do the initial parts and then pull the rug out from under them when they want to keep going.
* Sometimes the right answer is to move the shiny future to a FAQ that is not committing to doing any follow-up.
## Flagship goals
Flagship goal text has not been authored but the expected goals are
* Continuing with async work
* Continuing with Rust-for-Linux stabilization (compiler team has a big role here this time around!)
* Organizing a successful All Hands
* This is part of a larger them towards improving project organization
## Links to read
What follows is a list of links to skim over. It begins with a link to the summary RFC, but I've also included direct links to goals that I really want the team to be aware of.
* [RFC draft](https://rust-lang.github.io/rust-project-goals/2025h1/index.html)
* In particular, look at the [collated compiler team asks](https://rust-lang.github.io/rust-project-goals/2025h1/index.html#compiler-team).
* [Rust for linux stabilizations](https://rust-lang.github.io/rust-project-goals/2025h1/rfl.html)
* The focus in 2025H1 is turning to tooling, especially [compiler flags](https://rust-lang.github.io/rust-project-goals/2025h1/rfl.html#the-next-six-months) and build-std (see next goal). In addition to the work on stabilizing ABI-modifying flags and things like sanitizer support, I want to note that RFL is relying on `-Zbinary_dep_depinfo=y` and `-Zcrate-attr`.
* [Build std](https://rust-lang.github.io/rust-project-goals/2025h1/build-std.html)
* This contains a compiler-focused work item as part of the larger cargo goal. The idea is to have a way for a stable rustc toolchain to build libcore (and other parts of the libstd facade) when used from custom build systems (such as the one in rust-for-linux). This would in turn allow cargo to use the same mechanism, solving a blocker for `-Zbuild-std`. This is a crucial dependency for Rust for Linux using a stable toolchain as it allows them to use ABI-modifying flags that require rebuilding std with those flags (and thus cannot use the standard build distributed with rustup).
* [Publish first version of StableMIR on crates.io](https://rust-lang.github.io/rust-project-goals/2025h1/stable-mir.html)
* I personally think this is the right next step, but I am not sure how aligned the team is around this goal.
* [Rust vision document](https://rust-lang.github.io/rust-project-goals/2025h1/rust-vision-doc.html) -- aka, 3-5 year plan
* I am proposing to form a team and author a vision document for Rust. The document will not include specific designs but will describe the status quo of Rust usage (where it's working and where it's not and why) and offer recommendations for what problems/domains we ought to tackle and what constraints we have to be aware of.
* The goal for 2025H1 is to have a draft available for detailed discussion at the All Hands.
* [All-Hands](https://rust-lang.github.io/rust-project-goals/2025h1/all-hands.html)
* This is a flagship goal, I want to surface it to spur conversation about how the compiler team can best make use of the opportunity.
* In the types team, I think a big focus will be on growing the "bus factor" around specific parts of the code and building team rapport and morale.
* [Declarative (`macro_rules!`) macro improvements](https://rust-lang.github.io/rust-project-goals/2025h1/macro-improvements.html)
* I know this has historically been a "low bandwidth" area. I think joshtriplett has run these ideas by wg-macros people but I don't want anyone to be surprised by this proposal.
## Questions for discussion
* Any concerns with the above?
* Any goals that you know you or others will be pursuing that are not listed? Not too late to create one.