and a few more links

This commit is contained in:
mark 2020-03-31 15:30:27 -05:00 committed by Who? Me?!
parent f0c9f6dca6
commit 4589ebf70e
3 changed files with 6 additions and 7 deletions

View File

@ -17,7 +17,7 @@ complex make project or Cargo build, etc. That could be a lot of work;
rustc, like most compilers, takes a large number of command line arguments which rustc, like most compilers, takes a large number of command line arguments which
can affect compilation in complex and interacting ways. Emulating all of this can affect compilation in complex and interacting ways. Emulating all of this
behaviour in your tool is annoying at best, especically if you are making many behaviour in your tool is annoying at best, especically if you are making many
of the same calls into librustc that the compiler is. of the same calls into librustc_middle that the compiler is.
The kind of things I have in mind are tools like rustdoc or a future rustfmt. The kind of things I have in mind are tools like rustdoc or a future rustfmt.
These want to operate as closely as possible to real compilation, but have These want to operate as closely as possible to real compilation, but have
@ -27,7 +27,7 @@ custom code generation phase after macro expansion, then creating a new tool
should be easier than forking the compiler (and keeping it up to date as the should be easier than forking the compiler (and keeping it up to date as the
compiler evolves). compiler evolves).
I have gradually been trying to improve the API of librustc to make creating a I have gradually been trying to improve the API of librustc_middle to make creating a
drop-in tool easier to produce (many others have also helped improve these drop-in tool easier to produce (many others have also helped improve these
interfaces over the same time frame). It is now pretty simple to make a tool interfaces over the same time frame). It is now pretty simple to make a tool
which is as close to rustc as you want it to be. In this tutorial I'll show which is as close to rustc as you want it to be. In this tutorial I'll show
@ -73,7 +73,7 @@ checking, borrow checking, type and lifetime inference, trait selection, method
selection, linting, and so forth. Most error detection is done in this phase selection, linting, and so forth. Most error detection is done in this phase
(although parse errors are found during parsing). The 'output' of this phase is (although parse errors are found during parsing). The 'output' of this phase is
a bunch of side tables containing semantic information about the source program. a bunch of side tables containing semantic information about the source program.
The analysis code is in [librustc](https://github.com/rust-lang/rust/tree/master/src/librustc) The analysis code is in [librustc_middle](https://github.com/rust-lang/rust/tree/master/src/librustc_middle)
and a bunch of other crates with the 'librustc_' prefix. and a bunch of other crates with the 'librustc_' prefix.
Next is translation, this translates the AST (and all those side tables) into Next is translation, this translates the AST (and all those side tables) into

View File

@ -36,8 +36,7 @@ They are held on [Zulip][zulip]. It works roughly as follows:
- **Look over new regressions:** we then look for new cases where the - **Look over new regressions:** we then look for new cases where the
compiler broke previously working code in the wild. Regressions are compiler broke previously working code in the wild. Regressions are
almost always marked as P-high; the major exception would be bug almost always marked as P-high; the major exception would be bug
fixes (though even there we often fixes (though even there we often [aim to give warnings first][procedure]).
[aim to give warnings first][procedure]).
- **Check I-nominated issues:** These are issues where feedback from - **Check I-nominated issues:** These are issues where feedback from
the team is desired. the team is desired.
- **Check for beta nominations:** These are nominations of things to - **Check for beta nominations:** These are nominations of things to
@ -52,7 +51,7 @@ complicated).
The meeting is held over a "chat medium", currently on [zulip]. The meeting is held over a "chat medium", currently on [zulip].
[etherpad]: https://public.etherpad-mozilla.org/p/rust-compiler-meeting [etherpad]: https://public.etherpad-mozilla.org/p/rust-compiler-meeting
[procedure]: https://forge.rust-lang.org/rustc-bug-fix-procedure.html [procedure]: ./bug-fix-procedure.md
[zulip]: https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler [zulip]: https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler
## Team membership ## Team membership

View File

@ -129,7 +129,7 @@ Rust's [platform tiers]).
[Azure Pipelines]: https://dev.azure.com/rust-lang/rust/ [Azure Pipelines]: https://dev.azure.com/rust-lang/rust/
[bors]: https://github.com/servo/homu [bors]: https://github.com/servo/homu
[queue]: https://buildbot2.rust-lang.org/homu/queue/rust [queue]: https://buildbot2.rust-lang.org/homu/queue/rust
[platform tiers]: https://forge.rust-lang.org/platform-support.html [platform tiers]: https://forge.rust-lang.org/release/platform-support.html#rust-platform-support
## Testing with Docker images ## Testing with Docker images