From e927db936f5c87ccd87e8a89add57bd2a26f703f Mon Sep 17 00:00:00 2001 From: Yuki Okushi Date: Sat, 18 Apr 2020 11:54:09 +0900 Subject: [PATCH] Apply suggestions from code review Co-Authored-By: Chris Simpkins --- src/overview.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/overview.md b/src/overview.md index e08f012f..f2b36001 100644 --- a/src/overview.md +++ b/src/overview.md @@ -36,7 +36,7 @@ we'll talk about that later. - The lexer has a small interface and doesn't depend directly on the diagnostic infrastructure in `rustc`. Instead it provides diagnostics as plain 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 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 @@ -145,7 +145,7 @@ satisfy/optimize for. For example, various ways (e.g. cargo, clippy, miri, RLS) that must be supported. - Compiler stability: the compiler should not crash or fail ungracefully on the 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 always going on to its implementation. - 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 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 challenges with lock contention, maintaining query-system invariants under concurrency, and the complexity of the code base. One can try out the current