Skip to content

more forge docs for mentoring are needed #40902

Closed
@nikomatsakis

Description

@nikomatsakis

I've been finding that there are a lot of undocumented things you have to learn if you want to get started hacking on rustc. If we want to encourage people to get involved -- and we do! -- we should try to ensure that things are as well-documented as possible. I think that these docs should all be on The Rust Forge.

This issue is intended as a clearing house to track things that it would be useful to document. Here are some suggestions. I will try to move items from comments up here into the top issue (or feel free to do so yourself, if you have write permissions). Also feel free to open a separate issue on a particular topic (and link to it from here).

  • How to build the compiler and how to run the compiler you built
    • First off, explaining about --stage 1 and --incremental arguments
    • Then, once you run ./x.py build --incremental, it's not obvious where to find compiled executable or how to run it
    • For bonus points, we could publish some kind of rustup toolchain instructions, so that you can just type rustc and have it work (that's how my setup works, at least, I should document it publicly)
  • Advice on effective use of RUST_LOG
    • Common modules you may want to log
    • Direct the output into a file
    • -Z verbose for more details
  • A list of the various debugging outputs the compiler supports (--unpretty, MIR dump, CGU partitions, dep-graph etc) (from this comment)
    • which commandline arguments or environment variables are needed to generate them
    • the kind of filtering they support (e.g. just dump MIR for one function)

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-docsArea: Documentation for any part of the project, including the compiler, standard library, and toolsC-enhancementCategory: An issue proposing an enhancement or a PR with one.E-help-wantedCall for participation: Help is requested to fix this issue.P-mediumMedium priority

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions