Apply suggestions from code review

Co-Authored-By: Chris Simpkins <git.simpkins@gmail.com>
This commit is contained in:
Yuki Okushi 2020-04-18 11:54:09 +09:00 committed by Who? Me?!
parent 96e912e6a6
commit e927db936f
1 changed files with 3 additions and 3 deletions

View File

@ -36,7 +36,7 @@ we'll talk about that later.
- The lexer has a small interface and doesn't depend directly on the - The lexer has a small interface and doesn't depend directly on the
diagnostic infrastructure in `rustc`. Instead it provides diagnostics as plain diagnostic infrastructure in `rustc`. Instead it provides diagnostics as plain
data which are emitted in `librustc_parse::lexer::mod` as real diagnostics. data which are emitted in `librustc_parse::lexer::mod` as real diagnostics.
- The lexer preseves full fidelity information for both IDEs and proc macros. - The lexer preserves full fidelity information for both IDEs and proc macros.
- The parser [translates the token stream from the lexer into an Abstract Syntax - The parser [translates the token stream from the lexer into an Abstract Syntax
Tree (AST)][parser]. It uses a recursive descent (top-down) approach to syntax Tree (AST)][parser]. It uses a recursive descent (top-down) approach to syntax
analysis. The crate entry points for the parser are the `Parser.parse_crate_mod()` and analysis. The crate entry points for the parser are the `Parser.parse_crate_mod()` and
@ -145,7 +145,7 @@ satisfy/optimize for. For example,
various ways (e.g. cargo, clippy, miri, RLS) that must be supported. various ways (e.g. cargo, clippy, miri, RLS) that must be supported.
- Compiler stability: the compiler should not crash or fail ungracefully on the - Compiler stability: the compiler should not crash or fail ungracefully on the
stable channel. stable channel.
- Rust stability: the compiler must respect rust's stability guarantees by not - Rust stability: the compiler must respect Rust's stability guarantees by not
breaking programs that previously compiled despite the many changes that are breaking programs that previously compiled despite the many changes that are
always going on to its implementation. always going on to its implementation.
- Limitations of other tools: rustc uses LLVM in its backend, and LLVM has some - Limitations of other tools: rustc uses LLVM in its backend, and LLVM has some
@ -299,7 +299,7 @@ together into one binary.
However, the rest of the compiler is still not yet parallel. There have been However, the rest of the compiler is still not yet parallel. There have been
lots of efforts spent on this, but it is generally a hard problem. The current lots of efforts spent on this, but it is generally a hard problem. The current
approach is (**TODO: verify**) to turn `RefCell`s into `Mutex`s -- that is, we approach is to turn `RefCell`s into `Mutex`s -- that is, we
switch to thread-safe internal mutability. However, there are ongoing switch to thread-safe internal mutability. However, there are ongoing
challenges with lock contention, maintaining query-system invariants under challenges with lock contention, maintaining query-system invariants under
concurrency, and the complexity of the code base. One can try out the current concurrency, and the complexity of the code base. One can try out the current