how to contribute to the Rust project

## whoami

Nilstrieb

- contributing since 2022
- compiler contributors team since 2023
- all areas of the compiler
- issue triaging
- 1.74 cargo feature cfg diagnostics

## reviewed ♥

compiler-errors, style team member
WaffleLapkin, the most non-binary compiler contributor
jyn514, the gayest alumni of the bootstrap team
lunasorcery, friend of the above
## i want to contribute - don't need to be an expert! - time and interest
# what to contribute?
# not writing code

## thanks.rust-lang.org

## triaging issues easy to get started - labelling - minimization - bisecting - adding tests

## labelling

https://forge.rust-lang.org/release/issue-triaging.html

## bisection

    						$ cargo new bisect
    							Created binary (application) `bisect` package
    						$ cd bisect
    						$ vim src/main.rs
    						$ cargo-bisect-rustc --access github --regress ice \
    							--start 2023-01-01 --end 2023-12-19

https://github.com/rust-lang/cargo-bisect-rustc
downloads toolchains instead of building them

## minimization

very useful for fixing an issue

## minimization

I minimized that issue to 60 lines in 2 hours

https://github.com/Nilstrieb/ice-104649 http://blog.pnkfx.org/blog/2019/11/18/rust-bug-minimization-patterns/
https://github.com/Nilstrieb/cargo-minimize

## adding tests

bug has been fixed, but no test added

just commit a test to close the issue!

## existing unstable features high value, very needed - stabilize - close

## tracking issues

tracking the state of a feature

719 issues (2023-01-03)

new issues aren't ready yet

really old issues often have problems

go to golden middle :)

## summarize,

aggregate open questions

aggregate resolved questions

propose next steps

## stabilize...

## ...or close

## final comment periods

# writing code
## official tooling always in need of help! - rustup - clippy - cargo - rust-analyzer - rustfmt
## standard library limited review bandwidth! - performance improvements - bug fixes - APIs are selective
## compiler contributions - diagnostics are a great starting point - internal compiler error fixes

## diagnostics

## writing a new trait solver

### errs.png

## Internal compiler-errors fixes

step 1: become a surgeon

## rustc dev guide

https://rustc-dev-guide.rust-lang.org/

## ask for help

zulip.rust-lang.org, #t-compiler/help

## looking at prs - yes <!-- TODO --> - leave review comments on random PRs
# to remember
- volunteers - weeks - rust-lang/rust: ping if >2 weeks

## see you on GitHub!