Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document other kinds of unstability in The Unstable Book #41142

Closed
frewsxcv opened this issue Apr 7, 2017 · 15 comments · Fixed by #59680
Closed

Document other kinds of unstability in The Unstable Book #41142

frewsxcv opened this issue Apr 7, 2017 · 15 comments · Fixed by #59680
Labels
A-docs Area: documentation for any part of the project, including the compiler, standard library, and tools C-bug Category: This is a bug. P-medium Medium priority

Comments

@frewsxcv
Copy link
Member

frewsxcv commented Apr 7, 2017

Right now, The Unstable Book is just a list of unstable lang/lib features. There are other things like compiler flags which are also considered unstable that should be documented in The Unstable Book. This requires adjusting the tidy lint a bit to accommodate other sections. Right now I'm thinking that all sections (features, flags, etc) will live in their own subdirectory.

@frewsxcv frewsxcv added the A-docs Area: documentation for any part of the project, including the compiler, standard library, and tools label Apr 7, 2017
@frewsxcv
Copy link
Member Author

frewsxcv commented Apr 7, 2017

Relevant thread: #40018 (comment)

@frewsxcv
Copy link
Member Author

frewsxcv commented Apr 7, 2017

Reminder for future self: remove this hack e280515

@brson
Copy link
Contributor

brson commented Apr 8, 2017

This may not be the issue, but there are a number of stable features that are actually just "stable", like target specs and llvm plugins, where we don't even try to maintain stability. It would be nice to have a discussion of those somewhere.

@frewsxcv
Copy link
Member Author

frewsxcv commented Apr 9, 2017

I'm waiting on #40018 to merge before I work on this.

@frewsxcv
Copy link
Member Author

Copying @est31's text from #41289:

I think for greater categorisation, the unstable book should be divided into sections.

A proposal:

  • Compiler internal lang features ("not intended for general use")
  • Permanently unstable features that are not compiler internal (like the llvm intrinsics)
  • Novel lang features (with intent to stabilize them some day)
  • Library features
  • ??

Some sections should have a higher standard of documentation, like the novel lang features, others like the library features already have documentation in rustdoc (see #41288), so their documentation should be limited to a link to the tracking issue (and maybe their rustdoc), and the "not intended for general use" features can get a lower priority to be documented as well.

frewsxcv added a commit to frewsxcv/rust that referenced this issue Apr 18, 2017
Prior to this commit, the contents of the Unstable Book were assumed to
be unstable features. This commit moves features into 'language features'
or 'library features' subsections. It also moves the 'linker_flavor'
compiler flag into a new 'Compiler Flags' subsection.

Even though it was helpful, I removed the tidy check that
cross-references the SUMMARY.md links with the Unstable Book directory
contents just because it would be difficult to maintain.

Relevant PR: rust-lang#41142.
frewsxcv added a commit to frewsxcv/rust that referenced this issue Apr 18, 2017
…teveklabnik

Add top level sections to the Unstable Book.

Prior to this commit, the contents of the Unstable Book were assumed to
be unstable features. This commit moves features into 'language features'
or 'library features' subsections. It also moves the 'linker_flavor'
compiler flag into a new 'Compiler Flags' subsection.

Even though it was helpful, I removed the tidy check that
cross-references the SUMMARY.md links with the Unstable Book directory
contents just because it would be difficult to maintain.

Relevant PR: rust-lang#41142.
frewsxcv added a commit to frewsxcv/rust that referenced this issue Apr 19, 2017
Prior to this commit, the contents of the Unstable Book were assumed to
be unstable features. This commit moves features into 'language features'
or 'library features' subsections. It also moves the 'linker_flavor'
compiler flag into a new 'Compiler Flags' subsection.

Even though it was helpful, I removed the tidy check that
cross-references the SUMMARY.md links with the Unstable Book directory
contents just because it would be difficult to maintain.

Relevant PR: rust-lang#41142.
frewsxcv added a commit to frewsxcv/rust that referenced this issue Apr 19, 2017
…teveklabnik

Add top level sections to the Unstable Book.

Prior to this commit, the contents of the Unstable Book were assumed to
be unstable features. This commit moves features into 'language features'
or 'library features' subsections. It also moves the 'linker_flavor'
compiler flag into a new 'Compiler Flags' subsection.

Even though it was helpful, I removed the tidy check that
cross-references the SUMMARY.md links with the Unstable Book directory
contents just because it would be difficult to maintain.

Relevant PR: rust-lang#41142.
frewsxcv added a commit to frewsxcv/rust that referenced this issue Apr 19, 2017
…teveklabnik

Add top level sections to the Unstable Book.

Prior to this commit, the contents of the Unstable Book were assumed to
be unstable features. This commit moves features into 'language features'
or 'library features' subsections. It also moves the 'linker_flavor'
compiler flag into a new 'Compiler Flags' subsection.

Even though it was helpful, I removed the tidy check that
cross-references the SUMMARY.md links with the Unstable Book directory
contents just because it would be difficult to maintain.

Relevant PR: rust-lang#41142.
frewsxcv added a commit to frewsxcv/rust that referenced this issue Apr 20, 2017
…teveklabnik

Add top level sections to the Unstable Book.

Prior to this commit, the contents of the Unstable Book were assumed to
be unstable features. This commit moves features into 'language features'
or 'library features' subsections. It also moves the 'linker_flavor'
compiler flag into a new 'Compiler Flags' subsection.

Even though it was helpful, I removed the tidy check that
cross-references the SUMMARY.md links with the Unstable Book directory
contents just because it would be difficult to maintain.

Relevant PR: rust-lang#41142.
@frewsxcv
Copy link
Member Author

This was partially completed in #41295.

@steveklabnik
Copy link
Member

In #41288 @est31 suggests that we should keep the library features minimal; I agree. They should exist, so you can see everything that's unstable, but there's no reason to duplicate their docs.

@Mark-Simulacrum Mark-Simulacrum added the C-bug Category: This is a bug. label Jul 27, 2017
@steveklabnik
Copy link
Member

19:39 < frewsxcv> i think the main thing missing for this is all the unstable
                  command line options

@steveklabnik steveklabnik added the P-medium Medium priority label Aug 30, 2017
@frewsxcv
Copy link
Member Author

regarding unsafe command line options, one can see them via rustc -Z help. it looks like the options are all defined in this src/librustc/session/config.rs file. they seem to all be exposed on rustc::session::Session and rustc::session::config::DebuggingOptions. seems like we should be able to autogenerate all the unsafe command line options pages like we do for the other unstable book sections (via src/tools/unstable-book-gen)

@steveklabnik
Copy link
Member

Triage: we now have https://doc.rust-lang.org/rustc/command-line-arguments.html, but it doesn't talk about -Z.

@DevQps
Copy link
Contributor

DevQps commented Apr 3, 2019

I just saw that the Unstable Book already contains a list of unstable compiler flags here which I guess means that this issue is already solved right?

Maybe we should create a separate issue for the missing -Z description in https://doc.rust-lang.org/rustc/command-line-arguments.html and close this one? Maybe also create a separate issue to autogenerate the unsafe nightly commands for the Unstable Book. That way we can keep the tasks that need to be done clearly isolated.

@steveklabnik If you agree I can create these new issues with a nice description of what needs to be done!

@steveklabnik
Copy link
Member

Maybe we should create a separate issue for the missing -Z description in https://doc.rust-lang.org/rustc/command-line-arguments.html and close this one?

Yes! Alternatively, if this is something you'd like to send a PR for, we can just keep this issue open and use that PR to close it.

Maybe also create a separate issue to autogenerate the unsafe nightly commands for the Unstable Book.

I would prefer not to, I don't think this is the job for the unstable book.

@DevQps
Copy link
Contributor

DevQps commented Apr 3, 2019

Yes! Alternatively, if this is something you'd like to send a PR for, we can just keep this issue open and use that PR to close it.
I'll go ahead and do that then!

I would prefer not to, I don't think this is the job for the unstable book.
I can understand that you have this view! I do not really have much of a view myself on this, though I do think that we should keep duplication between the rustc docs and other docs to a minimum (or to keep documentation duplication to a minimum in general because its easier to maintain). The rustc docs are probably a better place to document this.

However, this does lead me to the following question: Currently, there is already a compiler flags section in the unstable book. For example the -Z emit-stack-sizes flag. I think we should either try to complete this section or remove/move it to the rustc docs all-together. What is your opinion on this?

@steveklabnik
Copy link
Member

Moving it to the rustc docs seems appropriate to me!

@DevQps
Copy link
Contributor

DevQps commented Apr 3, 2019

Moving it to the rustc docs seems appropriate to me!

I created an issue for this here: #59679
Then we can use this issue for adding -Z to the compiler flags section!

sanxiyn added a commit to sanxiyn/rust that referenced this issue Apr 11, 2019
…mertj

Document the -Z flag to the rustc book

# Description

Changes:
- Added new documentation on the `-Z` flag of rustc in the command-line arguments section of the rustc book.

If I need to rephrase anything or if you have any improvements, please let me know! I deliberately did not create an exhaustive list of all options since they are likely to change over time and per toolchain version.

closes rust-lang#41142
cramertj added a commit to cramertj/rust that referenced this issue Apr 11, 2019
…mertj

Document the -Z flag to the rustc book

# Description

Changes:
- Added new documentation on the `-Z` flag of rustc in the command-line arguments section of the rustc book.

If I need to rephrase anything or if you have any improvements, please let me know! I deliberately did not create an exhaustive list of all options since they are likely to change over time and per toolchain version.

closes rust-lang#41142
Centril added a commit to Centril/rust that referenced this issue Apr 12, 2019
…mertj

Document the -Z flag to the rustc book

# Description

Changes:
- Added new documentation on the `-Z` flag of rustc in the command-line arguments section of the rustc book.

If I need to rephrase anything or if you have any improvements, please let me know! I deliberately did not create an exhaustive list of all options since they are likely to change over time and per toolchain version.

closes rust-lang#41142
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-docs Area: documentation for any part of the project, including the compiler, standard library, and tools C-bug Category: This is a bug. P-medium Medium priority
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants