Skip to content

x.py setup: let me select "none" #107846

Closed
@RalfJung

Description

@RalfJung

When I run x.py setup, I get asked a question that is quite hard to answer:

Welcome to the Rust project! What do you want to do with x.py?
a) library: Contribute to the standard library
b) compiler: Contribute to the compiler itself
c) codegen: Contribute to the compiler, and also modify LLVM or codegen
d) tools: Contribute to tools which depend on the compiler, but do not modify it directly (e.g. rustdoc, clippy, miri)
e) user: Install Rust from source
Please choose one (a/b/c/d/e): 

This looks great for beginners! However, I am doing almost all of these things. Furthermore I am asked to do a choice that will probably change my config.toml but I don't know exactly what it does -- I don't have nearly enough information to answer these questions. Looking at https://github.com/rust-lang/rust/tree/master/src/bootstrap/defaults, this affects things like whether debug assertions are enabled, whether LLVM is downloaded, etc -- for powerusers it makes a lot more sense to explicitly talk about those things than to hide them behind opaque labels such as "compiler" vs "library".

Is x.py setup meant to be used only by beginners, or also by long-time rustc contributors? If the latter is the case, then currently I think it doesn't work. An easy work-around could be to let me select "none of the above", which probably corresponds to my current config (I don't have profile set, instead I have a carefully hand-crafted config.toml).

If x.py setup is meant to be ignored by people that are comfortable editing config.toml directly, then nothing needs to change here, but then things like rust-lang/rustc-dev-guide#1588 are not great since of course I still want to be able to see what this year's way of configuring vscode for rustc work looks like.

Basically what I am asking is, while you do your amazing work of making rustc easier to get into for beginners, please don't forget the experts. :)

Cc @jyn514

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions