From a8ed010119e0d67636246fcdd59314b6dc84866d Mon Sep 17 00:00:00 2001 From: Ryan Levick Date: Thu, 1 Jul 2021 16:48:07 +0200 Subject: [PATCH] Update around half of the January 2021 date references --- src/compiler-src.md | 9 --------- src/diagnostics/lintstore.md | 2 +- src/git.md | 7 ++++--- src/miri.md | 7 +++---- src/parallel-rustc.md | 2 +- src/query.md | 2 +- src/salsa.md | 2 +- 7 files changed, 11 insertions(+), 20 deletions(-) diff --git a/src/compiler-src.md b/src/compiler-src.md index 61af38652..b621dde7c 100644 --- a/src/compiler-src.md +++ b/src/compiler-src.md @@ -2,15 +2,6 @@ -> **NOTE**: The structure of the repository is going through a lot of -> transitions. In particular, we want to get to a point eventually where the -> top-level directory has separate directories for the compiler, build-system, -> std libs, etc, rather than one huge `src/` directory. -> -> As of January 2021, the standard libraries have been -> moved to `library/` and the crates that make up the `rustc` compiler itself -> have been moved to `compiler/`. - Now that we have [seen what the compiler does](./overview.md), let's take a look at the structure of the contents of the rust-lang/rust repo. diff --git a/src/diagnostics/lintstore.md b/src/diagnostics/lintstore.md index 6a59cf264..b45e60558 100644 --- a/src/diagnostics/lintstore.md +++ b/src/diagnostics/lintstore.md @@ -17,7 +17,7 @@ First, we have the lint declarations themselves: this is where the name and defa other metadata come from. These are normally defined by way of the [`declare_lint!`] macro, which boils down to a static with type `&rustc_session::lint::Lint`. -As of January 2021, we lint against direct declarations +As of July 2021, we lint against direct declarations without the use of the macro today (although this may change in the future, as the macro is somewhat unwieldy to add new fields to, like all macros by example). diff --git a/src/git.md b/src/git.md index 361b65a81..1c311982c 100644 --- a/src/git.md +++ b/src/git.md @@ -157,7 +157,7 @@ no changes added to commit (use "git add" and/or "git commit -a") These changes are not changes to files: they are changes to submodules (more on this [later](#git-submodules)). To get rid of those, run `git submodule update` (or run any `x.py` command, which will automatically update the submodules). -Note that there is (as of January 2021) a bug if you use +Note that there is (as of July 2021) a [bug][#77620] if you use worktrees, submodules, and x.py in a commit hook. If you run into an error like: @@ -167,9 +167,10 @@ error: failed to read `/home/joshua/rustc-worktree/src/tools/miri/cargo-miri/Car Caused by: No such file or directory (os error 2) ``` -it's not anything you did wrong. There is a workaround at [#77620]. +it's not anything you did wrong. There is a workaround in [the issue][#77620-workaround]. -[#77620]: https://github.com/rust-lang/rust/issues/77620#issuecomment-705228229 +[#77620]: https://github.com/rust-lang/rust/issues/77620 +[#77620-workaround]: https://github.com/rust-lang/rust/issues/77620#issuecomment-705228229 ## Rebasing and Conflicts diff --git a/src/miri.md b/src/miri.md index 18cd6ed39..c19ba6401 100644 --- a/src/miri.md +++ b/src/miri.md @@ -197,10 +197,9 @@ Miri's virtual memory. This is in contrast to `Scalar::Raw`, which is just some concrete integer. However, a variable of pointer or reference *type*, such as `*const T` or `&T`, -does not have to have a pointer *value*: it could be obtaining by casting or -transmuting an integer to a pointer (as of January 2021 -that is hard to do in const eval, but eventually `transmute` will be stable as a -`const fn`). And similarly, when casting or transmuting a reference to some +does not have to have a pointer *value*: it could be obtained by casting or +transmuting an integer to a pointer. +And similarly, when casting or transmuting a reference to some actual allocation to an integer, we end up with a pointer *value* (`Scalar::Ptr`) at integer *type* (`usize`). This is a problem because we cannot meaningfully perform integer operations such as division on pointer diff --git a/src/parallel-rustc.md b/src/parallel-rustc.md index 8be19e8dc..eec8219a5 100644 --- a/src/parallel-rustc.md +++ b/src/parallel-rustc.md @@ -3,7 +3,7 @@ Most of the compiler is not parallel. This represents an opportunity for improving compiler performance. -As of January 2021, work on explicitly parallelizing the +As of July 2021, work on explicitly parallelizing the compiler has stalled. There is a lot of design and correctness work that needs to be done. diff --git a/src/query.md b/src/query.md index aa3a81328..20e547b1e 100644 --- a/src/query.md +++ b/src/query.md @@ -1,7 +1,7 @@ # Queries: demand-driven compilation As described in [the high-level overview of the compiler][hl], the Rust compiler -is still (as of January 2021) transitioning from a +is still (as of July 2021) transitioning from a traditional "pass-based" setup to a "demand-driven" system. **The Compiler Query System is the key to our new demand-driven organization.** The idea is pretty simple. You have various queries that compute things about the input – for diff --git a/src/salsa.md b/src/salsa.md index bfe753824..9bf93727a 100644 --- a/src/salsa.md +++ b/src/salsa.md @@ -9,7 +9,7 @@ want to watch [Salsa In More Depth](https://www.youtube.com/watch?v=i_IhACacPRY), also by Niko Matsakis. -> As of January 2021, although Salsa is inspired by +> As of July 2021, although Salsa is inspired by > (among other things) rustc's query system, it is not used directly in rustc. > It _is_ used in chalk and extensively in `rust-analyzer`, but there are no > medium or long-term concrete plans to integrate it into the compiler.