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

Host compiler documentation #29893

Closed
brson opened this issue Nov 17, 2015 · 26 comments
Closed

Host compiler documentation #29893

brson opened this issue Nov 17, 2015 · 26 comments
Labels
C-feature-request Category: A feature request, i.e: not implemented / a PR. E-mentor Call for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion. P-medium Medium priority T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.

Comments

@brson
Copy link
Contributor

brson commented Nov 17, 2015

The API documentation for the compiler is useful, and only available online via @Manishearth. It should be hosted by rust-lang.

Need to decide where on the doc server they are hosted - probably separately from the end-user docs; ensure the makefiles can produce them in a separate location from the user docs; add the build rule to the dist builders; make buildbot upload them to the right place.

cc @edunham

UPDATE: Mentoring instructions available here.

@brson brson added A-docs and removed A-tools labels Nov 17, 2015
@steveklabnik
Copy link
Member

This is a dup of #28309, but gets to the heart of the issue, so I'm going to close it in favor of this one.

I've been talking with @edunham about this a few times over the last few weeks, I think the plan we discussed was a /internals path.

@edunham
Copy link
Member

edunham commented Nov 24, 2015

@Manishearth how are you currently generating the contents of https://github.com/Manishearth/rust-internals-docs ?

@Manishearth
Copy link
Member

./configure --enable-compiler-docs; make docs. I was considering at some point to make it turn on private docs as well (using rustdoc --passes)

@alexcrichton alexcrichton added the P-medium Medium priority label Aug 22, 2016
@Mark-Simulacrum Mark-Simulacrum added T-dev-tools Relevant to the dev-tools subteam, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. and removed T-tools T-dev-tools Relevant to the dev-tools subteam, which will review and decide on the PR/issue. labels May 24, 2017
@steveklabnik
Copy link
Member

steveklabnik commented Jun 1, 2017

This probably belongs on the forge. /cc @nikomatsakis

@nikomatsakis
Copy link
Contributor

cc @mgattozzi, who is working on this.

@nikomatsakis
Copy link
Contributor

nikomatsakis commented Jun 2, 2017

cc @Manishearth, who has been hosting docs as a generous service of late. =)

oh, they were already cc'd =), sorry

@mgattozzi
Copy link
Contributor

I mentioned in #42359 what I was doing and the status of things

@SimonSapin
Copy link
Contributor

The "compiler plugins developers" part of the audience for this is shrinking with procedural macros 1.1 / 2.0, but this can still be useful for people working on the compiler or on custom lint plugins.

In my case, I’d use these docs when one of Servo’s lint plugins breaks in a compiler update. So to be useful they need to stay up to date with master or Nightly, and aren’t updated only when someone remembers to do it

@kennytm
Copy link
Member

kennytm commented Oct 19, 2017

Configure the dist-x86_64-linux builder to produce compiler documentation. When you run this builder it show now also produce a rustc-docs-....tar.gz in addition to rust-docs....tar.gz.

According to #45366, building the compiler docs now require a full-bootstrap compiler, meaning we can only do it on the x86_64-gnu-full-bootstrap builder. (Alternatively we could improve the copy-stage1-to-stage2 procedure so that a non-full-bootstrap builder could work?)

@Mark-Simulacrum
Copy link
Member

No, you just need a stage2 compiler, no need for full bootstrap. The requirement is that target libraries and sysroot libraries are identical due to how proc macros work today.

@nikomatsakis nikomatsakis added the E-mentor Call for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion. label Mar 19, 2018
bors added a commit that referenced this issue Mar 21, 2018
Host compiler documentation

Fixes #29893. Rust Central Station PR: rust-lang/rust-central-station#40

r? @alexcrichton
bors added a commit that referenced this issue Mar 21, 2018
Host compiler documentation

Fixes #29893. Rust Central Station PR: rust-lang/rust-central-station#40

r? @alexcrichton
bors added a commit that referenced this issue Mar 22, 2018
Host compiler documentation

Fixes #29893. Rust Central Station PR: rust-lang/rust-central-station#40

r? @alexcrichton
frewsxcv added a commit to frewsxcv/rust that referenced this issue Mar 23, 2018
alexcrichton added a commit to alexcrichton/rust that referenced this issue Mar 23, 2018
kennytm added a commit to kennytm/rust that referenced this issue Mar 24, 2018
kennytm added a commit to kennytm/rust that referenced this issue Mar 24, 2018
@davidtwco
Copy link
Member

Re-opening as this still depends on this rust-lang/rust-central-station#40 to land.

@davidtwco davidtwco reopened this Mar 24, 2018
@SimonSapin
Copy link
Contributor

https://doc.rust-lang.org/nightly/nightly-rustc/rustc/ is up. Should it use RUSTDOCFLAGS="--document-private-items"?

@davidtwco
Copy link
Member

@alexcrichton @SimonSapin I agree that this would be very useful, I've submitted a PR that should handle this: #49654.

@kennytm
Copy link
Member

kennytm commented Apr 4, 2018

If we are documenting private items, I hope rustdoc can clearly indicate that an item is private (or pub(crate) or whatever restriction). For instance, if I'm working in the rustc_mir crate, I would not want to know any private detail about the syntax_pos crate.

Also, I hope there's a -Z flag to tell rustdoc to shut up about the rustc_private feature, because we all know the compiler API is unstable 😄.

cc @rust-lang/docs

@Manishearth
Copy link
Member

I've long wanted --document-private-items to produce a "Private" checkbox that lets you toggle private items as well. Maybe I'll work on that if @QuietMisdreavus thinks its a good idea

@mark-i-m
Copy link
Member

mark-i-m commented Apr 4, 2018

Also, I hope there's a -Z flag to tell rustdoc to shut up about the rustc_private feature, because we all know the compiler API is unstable smile.

I would appreciate that, since those little yellow boxes take up a lot of space...

EDIT: and all of the [Experimental] notes everywhere...

kennytm added a commit to kennytm/rust that referenced this issue Apr 5, 2018
Host compiler documentation: Include private items

Fixes rust-lang#29893. Now that compiler documentation is being hosted, including private items seems sensible as these types are going to be being used by contributors working on the compiler.

However, including this means that doc comments that contain codeblocks with invalid Rust and can fail the documenting of a given crate (as evidenced by the changes in the second commit included in this PR). We'd need some way of ensuring that this cannot happen so that these failures don't cause documenting to fail. I'm unsure whether this change to documentation steps will cause this to happen already or if something new will be required.

r? @alexcrichton
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-feature-request Category: A feature request, i.e: not implemented / a PR. E-mentor Call for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion. P-medium Medium priority T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests