Skip to content

Properly document and explain opt-levels s and z #52938

Open
@LukasKalbertodt

Description

@LukasKalbertodt

These opt-levels have been stabilized in #50265. If I'm not mistaken, rustc -C help still outputs this:

    -C            opt-level=val -- optimize with possible levels 0-3, s, or z

So not very helpful at all. I think there should be a better explanation for rustc -C help (also for levels 0 -- 3). The rustc guide has some information, but it's rather hidden.

I'd also suggest to change the current one-line-per-option layout of -Z help and -C help. Currently it discourages people to add more useful information if they have to crank it into one line. Why not something like:

-C debuginfo=val 
    Debug info emission level, 0 = no debug info, 1 = line tables only, 2 = full debug  
    info with variable and type information. And more information here. Lorem ipsum 
    dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt 
    ut labore et dolore magna aliquyam erat, sed diam voluatua. At vero eos et accusam 
    et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata 
    sanctus est Lorem ipsum dolor sit amet.
    
-C opt-level=val 
    Optimize with possible levels 0-3, s, or z. And more information here. Lorem ipsum 
    dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt 
    ut labore et dolore magna aliquyam erat, sed diam voluatua. At vero eos et accusam 
    et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata 
    sanctus est Lorem ipsum dolor sit amet.

Or something like that.

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.C-optimizationCategory: An issue highlighting optimization opportunities or PRs implementing suchP-mediumMedium priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions