Meta tags:
description= A guide to developing the Rust compiler (rustc);
Headings (most frequently used words):
other, issues, to, rust, work, contributing, compiler, development, guide, getting, started, keyboard, shortcuts, asking, questions, what, should, on, cloning, and, building, contributor, procedures, resources, experts, etiquette, easy, or, mentored, recurring, clippy, diagnostic, picking, up, abandoned, pull, requests, writing, tests, std, standard, library, code, projects, ways, contribute,
Text of the page (most frequently used words):
the (54), you (27), and (25), are (21), compiler (20), rust (18), for (16), can (16), #issues (14), this (13), see (13), that (12), work (12), find (8), but (8), have (8), guide (7), #questions (7), more (7), some (7), not (7), with (7), here (7), has (6), other (6), contribution (6), help (6), contributing (6), how (5), lang (5), there (5), working (5), try (5), feel (5), large (5), label (5), contributors (5), out (5), time (5), clippy (5), all (5), about (4), procedures (4), could (4), will (4), also (4), writing (4), contribute (4), these (4), many (4), list (4), pull (4), they (4), diagnostic (4), project (4), example (4), show (4), ask (4), who (4), commits (4), press (4), chapter (3), build (3), run (3), very (3), process (3), bunch (3), areas (3), part (3), code (3), useful (3), documentation (3), without (3), ways (3), don (3), them (3), groups (3), test (3), way (3), request (3), prs (3), getting (3), started (3), recurring (3), please (3), easy (3), only (3), search (3), parts (3), starting (3), information (3), your (3), experts (3), people (3), even (3), section (2), moved (2), resources (2), done (2), community (2), library (2), org (2), related (2), things (2), helpful (2), feeling (2), bit (2), following (2), much (2), background (2), knowledge (2), comfortable (2), into (2), repos (2), projects (2), repo (2), others (2), std (2), been (2), tests (2), new (2), needs (2), should (2), interest (2), send (2), inactive (2), interested (2), such (2), pick (2), need (2), long (2), first (2), get (2), internals (2), free (2), add (2), tracking (2), between (2), important (2), issue (2), labels (2), start (2), good (2), just (2), any (2), mindful (2), lot (2), triagebot (2), assign (2), using (2), words (2), make (2), zulip (2), development (2), contributor, cloning, building, publish, easier, said, than, valuable, crates, requested, participate, rfc, answer, stack, overflow, users, wide, variety, categorizing, replicating, minimizing, maintainers, triaging, intrepid, read, write, doc, comments, learn, while, producing, artifact, tasks, doable, incredibly, especially, jumping, straight, codebase, might, their, own, guidelines, owned, info, those, readmes, outside, including, rustup, miri, cargo, dev, standard, resolved, regression, marked, unit, low, risk, lower, priority, task, offers, great, opportunity, familiarize, themselves, testing, infrastructure, workflow, implemented, meantime, removed, from, seems, still, change, rebase, top, latest, branch, continuing, feature, main, sometimes, later, enough, simply, anymore, often, eventually, closed, receive, examine, picking, abandoned, requests, self, contained, detailed, instructions, spent, making, its, friendly, newcomers, possible, consider, familiar, items, too, single, person, case, common, ordinate, where, commitment, beginner, below, isn, labelled, diagnostics, looking, somewhere, check, explanation, filtering, triage, mentored, quite, difficult, know, which, place, beginners, suggested, places, what, pinging, someone, providing, context, annoying, create, noise, fact, folks, pings, day, include, question, recognize, hard, unfamiliar, etiquette, another, given, made, recent, recently, worked, name, resolution, since, release, ignore, rollup, merge, bors, git, shortlog, rustc_resolve, members, pretty, expertise, different, sections, file, figure, ping, toml, consult, rustc, native, english, speaker, unsure, translator, avoid, llm, tools, generate, complex, daily, teamwork, best, understanding, small, typos, grammar, mistakes, seem, human, connect, better, humans, simple, clear, tip, prefer, public, topics, means, answers, perhaps, integrate, back, report, wasting, expert, nobody, feels, team, usually, hangs, works, channel, reminder, expected, follow, our, conduct, post, official, website, page, teams, server, asking, intended, comprehensive, meant, quick, most, give, typical, would, walkthrough, thank, appreciate, ayu, navy, coal, light, auto, hide, esc, book, navigate, chapters, keyboard, shortcuts,
Text of the page (random words):
getting started rust compiler development guide keyboard shortcuts press or to navigate between chapters press s or to search in the book press to show this help press esc to hide this help auto light rust coal navy ayu rust compiler development guide getting started thank you for your interest in contributing to rust there are many ways to contribute and we appreciate all of them if this is your first time contributing the walkthrough chapter can give you a good example of how a typical contribution would go this documentation is not intended to be comprehensive it is meant to be a quick guide for the most useful things for more information see how to build and run the compiler asking questions if you have questions please make a post on the rust zulip server or internals rust lang org see the list of teams and working groups and the community page on the official website for more resources as a reminder all contributors are expected to follow our code of conduct the compiler team or t compiler usually hangs out in zulip in the t compiler channel questions about how the compiler works can go in t compiler help please ask questions a lot of people report feeling that they are wasting expert s time but nobody on t compiler feels this way contributors are important to us also if you feel comfortable prefer public topics as this means others can see the questions and answers and perhaps even integrate them back into this guide tip if you re not a native english speaker and feel unsure about writing try using a translator to help but avoid using llm tools that generate long complex words in daily teamwork simple and clear words are best for easy understanding even small typos or grammar mistakes can make you seem more human and people connect better with humans experts not all t compiler members are experts on all parts of rustc it s a pretty large project to find out who could have some expertise on different parts of the compiler consult triagebot assign groups the sections that start with assign in triagebot toml file but also feel free to ask questions even if you can t figure out who to ping another way to find experts for a given part of the compiler is to see who has made recent commits for example to find people who have recently worked on name resolution since the 1 68 2 release you could run git shortlog n 1 68 2 compiler rustc_resolve ignore any commits starting with rollup merge or commits by bors see ci contribution procedures for more information about these commits etiquette we do ask that you be mindful to include as much useful information as you can in your question but we recognize this can be hard if you are unfamiliar with contributing to rust just pinging someone without providing any context can be a bit annoying and just create noise so we ask that you be mindful of the fact that the t compiler folks get a lot of pings in a day what should i work on the rust project is quite large and it can be difficult to know which parts of the project need help or are a good starting place for beginners here are some suggested starting places easy or mentored issues if you re looking for somewhere to start check out the following issue search see the triage for an explanation of these labels you can also try filtering the search to areas you re interested in for example repo rust lang rust clippy will only show clippy issues label t compiler will only show issues related to the compiler label a diagnostics will only show diagnostic issues not all important or beginner work has issue labels see below for how to find work that isn t labelled recurring work some work is too large to be done by a single person in this case it s common to have tracking issues to co ordinate the work between contributors here are some example tracking issues where it s easy to pick up work without a large time commitment add recurring work items here if you find more recurring work please feel free to add it here clippy issues the clippy project has spent a long time making its contribution process as friendly to newcomers as possible consider working on it first to get familiar with the process and the compiler internals see the clippy contribution guide for instructions on getting started diagnostic issues many diagnostic issues are self contained and don t need detailed background knowledge of the compiler you can see a list of diagnostic issues here picking up abandoned pull requests sometimes contributors send a pull request but later find out that they don t have enough time to work on it or they simply are not interested in it anymore such prs are often eventually closed and they receive the s inactive label you could try to examine some of these prs and pick up the work you can find the list of such prs here if the pr has been implemented in some other way in the meantime the s inactive label should be removed from it if not and it seems that there is still interest in the change you can try to rebase the pull request on top of the latest main branch and send a new pull request continuing the work on the feature writing tests issues that have been resolved but do not have a regression test are marked with the e needs test label writing unit tests is a low risk lower priority task that offers new contributors a great opportunity to familiarize themselves with the testing infrastructure and contribution workflow you can see a list of needs test issues here contributing to std standard library see std dev guide contributing code to other rust projects there are a bunch of other projects that you can contribute to outside of the rust lang rust repo including cargo miri rustup and many others these repos might have their own contributing guidelines and procedures many of them are owned by working groups for more info see the documentation in those repos readmes other ways to contribute there are a bunch of other ways you can contribute especially if you don t feel comfortable jumping straight into the large rust lang rust codebase the following tasks are doable without much background knowledge but are incredibly helpful writing documentation if you are feeling a bit more intrepid you could try to read a part of the code and write doc comments for it this will help you to learn some part of the compiler while also producing a useful artifact triaging issues categorizing replicating and minimizing issues is very helpful to the rust maintainers working areas there are a bunch of working areas on a wide variety of rust related things answer questions on users rust lang org or on stack overflow participate in the rfc process find a requested community library build it and publish it to crates io easier said than done but very very valuable cloning and building see how to build and run the compiler contributor procedures this section has moved to the contribution procedures chapter other resources this section has moved to the about this guide chapter
|