From 33b4a19e54fd716d763dc4899cf07a0f19738f29 Mon Sep 17 00:00:00 2001
From: Joel Marcey <joelmarcey@rustfoundation.org>
Date: Wed, 17 Jul 2024 15:06:35 -0700
Subject: [PATCH 1/9] Cleanup the repo a little bit after Rust Reference
 decision

There is still more two do, but this tries to at least reduce the confusion that this repo is actively being worked on at this point in time.
---
 README.md            | 21 ++++-----------------
 spec/README.md       |  0
 spec/SUMMARY.md      |  3 ---
 spec/introduction.md |  1 -
 4 files changed, 4 insertions(+), 21 deletions(-)
 create mode 100644 spec/README.md
 delete mode 100644 spec/SUMMARY.md
 delete mode 100644 spec/introduction.md

diff --git a/README.md b/README.md
index 7d2776e..2d85918 100644
--- a/README.md
+++ b/README.md
@@ -1,25 +1,12 @@
 # The Rust Specification
 
-## Building
+## The Spec and the Rust Reference
 
-The specification uses [mdBook] to process the source into HTML. See [mdBook Installation] for more information on installing mdBook. To build the book, run:
+** The Rust specification is currently being developed as part of the [Rust Reference](https://github.com/rust-lang/reference).
 
-```sh
-mdbook build
-```
+The [`t-spec`](https://www.rust-lang.org/governance/teams/lang#team-spec) team, in consultation with interested parties from the Rust Project, made the decision on a [go-forward plan](https://hackmd.io/d-8LXh2NTASg7NF-zmZqNA?both#Review-go-forward-plan) that makes the Rust Reference the source of truth and the specification will be based on that content. 
 
-This will output the HTML into a directory called `book`.
-
-For authors, consider using the server functionality which supports automatic reload:
-
-```sh
-mdbook serve --open
-```
-
-This will open a browser with a websocket live-link to automatically reload whenever the source is updated.
-
-[mdBook]: https://rust-lang.github.io/mdBook/
-[mdBook Insallation]: https://rust-lang.github.io/mdBook/guide/installation.html
+It is currently unclear what happens to both this repository and the Rust reference once we are at a steady-state of having a usable specification. It is likely we will consolidate the two repositories into one that ends up being called the specification. Stay tuned for more information on that.
 
 ## License
 
diff --git a/spec/README.md b/spec/README.md
new file mode 100644
index 0000000..e69de29
diff --git a/spec/SUMMARY.md b/spec/SUMMARY.md
deleted file mode 100644
index 007d8f7..0000000
--- a/spec/SUMMARY.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Summary
-
-[Introduction](introduction.md)
diff --git a/spec/introduction.md b/spec/introduction.md
deleted file mode 100644
index e10b99d..0000000
--- a/spec/introduction.md
+++ /dev/null
@@ -1 +0,0 @@
-# Introduction

From 362714c5ee0aa37ef449eb0ebb9ef0d9c478fa4a Mon Sep 17 00:00:00 2001
From: Joel Marcey <joelmarcey@rustfoundation.org>
Date: Wed, 17 Jul 2024 15:08:16 -0700
Subject: [PATCH 2/9] Forget to add content to a file

---
 spec/README.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/spec/README.md b/spec/README.md
index e69de29..5963e37 100644
--- a/spec/README.md
+++ b/spec/README.md
@@ -0,0 +1 @@
+See the project [README](../README.md) for information on the process for creating the Rust specification.
\ No newline at end of file

From f71288a5480fb814a89caba7bf5b7748de4c2dc2 Mon Sep 17 00:00:00 2001
From: Eric Huss <eric@huss.org>
Date: Thu, 25 Jul 2024 07:47:23 -0700
Subject: [PATCH 3/9] Remove unused .gitignore file

This was missed in https://github.com/rust-lang/spec/pull/64.
---
 style-check/.gitignore | 1 -
 1 file changed, 1 deletion(-)
 delete mode 100644 style-check/.gitignore

diff --git a/style-check/.gitignore b/style-check/.gitignore
deleted file mode 100644
index eb5a316..0000000
--- a/style-check/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-target

From 8bc993afe60997ee6a3dab329ff595c601c216b2 Mon Sep 17 00:00:00 2001
From: Eric Huss <eric@huss.org>
Date: Thu, 25 Jul 2024 07:48:18 -0700
Subject: [PATCH 4/9] Remove mdbook-spec

This has moved to the reference repo in https://github.com/rust-lang/reference/pull/1542.
---
 mdbook-spec/.gitignore       |   1 -
 mdbook-spec/CHANGELOG.md     |  13 -
 mdbook-spec/Cargo.lock       | 988 -----------------------------------
 mdbook-spec/Cargo.toml       |  19 -
 mdbook-spec/LICENSE-APACHE   | 176 -------
 mdbook-spec/LICENSE-MIT      |  25 -
 mdbook-spec/README.md        |   5 -
 mdbook-spec/src/lib.rs       | 172 ------
 mdbook-spec/src/main.rs      |  21 -
 mdbook-spec/src/std_links.rs | 215 --------
 10 files changed, 1635 deletions(-)
 delete mode 100644 mdbook-spec/.gitignore
 delete mode 100644 mdbook-spec/CHANGELOG.md
 delete mode 100644 mdbook-spec/Cargo.lock
 delete mode 100644 mdbook-spec/Cargo.toml
 delete mode 100644 mdbook-spec/LICENSE-APACHE
 delete mode 100644 mdbook-spec/LICENSE-MIT
 delete mode 100644 mdbook-spec/README.md
 delete mode 100644 mdbook-spec/src/lib.rs
 delete mode 100644 mdbook-spec/src/main.rs
 delete mode 100644 mdbook-spec/src/std_links.rs

diff --git a/mdbook-spec/.gitignore b/mdbook-spec/.gitignore
deleted file mode 100644
index ea8c4bf..0000000
--- a/mdbook-spec/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target
diff --git a/mdbook-spec/CHANGELOG.md b/mdbook-spec/CHANGELOG.md
deleted file mode 100644
index 53eaf0f..0000000
--- a/mdbook-spec/CHANGELOG.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Changelog
-
-## mdbook-spec 0.1.2
-
-- Fixed some issues with rust-lang/rust build integration.
-
-## mdbook-spec 0.1.1
-
-- Moved code to a library to support upstream integration.
-
-## mdbook-spec 0.1.0
-
-- Initial release
diff --git a/mdbook-spec/Cargo.lock b/mdbook-spec/Cargo.lock
deleted file mode 100644
index 1fc0efa..0000000
--- a/mdbook-spec/Cargo.lock
+++ /dev/null
@@ -1,988 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "aho-corasick"
-version = "1.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "android-tzdata"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
-
-[[package]]
-name = "android_system_properties"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "anstream"
-version = "0.6.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b"
-dependencies = [
- "anstyle",
- "anstyle-parse",
- "anstyle-query",
- "anstyle-wincon",
- "colorchoice",
- "is_terminal_polyfill",
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b"
-
-[[package]]
-name = "anstyle-parse"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4"
-dependencies = [
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle-query"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391"
-dependencies = [
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "anstyle-wincon"
-version = "3.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19"
-dependencies = [
- "anstyle",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "anyhow"
-version = "1.0.86"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
-
-[[package]]
-name = "autocfg"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
-
-[[package]]
-name = "bitflags"
-version = "2.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
-
-[[package]]
-name = "block-buffer"
-version = "0.10.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "bstr"
-version = "1.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706"
-dependencies = [
- "memchr",
- "regex-automata",
- "serde",
-]
-
-[[package]]
-name = "bumpalo"
-version = "3.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
-
-[[package]]
-name = "cc"
-version = "1.0.104"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74b6a57f98764a267ff415d50a25e6e166f3831a5071af4995296ea97d210490"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "chrono"
-version = "0.4.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
-dependencies = [
- "android-tzdata",
- "iana-time-zone",
- "num-traits",
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "clap"
-version = "4.5.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84b3edb18336f4df585bc9aa31dd99c036dfa5dc5e9a2939a722a188f3a8970d"
-dependencies = [
- "clap_builder",
-]
-
-[[package]]
-name = "clap_builder"
-version = "4.5.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1c09dd5ada6c6c78075d6fd0da3f90d8080651e2d6cc8eb2f1aaa4034ced708"
-dependencies = [
- "anstream",
- "anstyle",
- "clap_lex",
- "strsim",
- "terminal_size",
-]
-
-[[package]]
-name = "clap_complete"
-version = "4.5.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d598e88f6874d4b888ed40c71efbcbf4076f1dfbae128a08a8c9e45f710605d"
-dependencies = [
- "clap",
-]
-
-[[package]]
-name = "clap_lex"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70"
-
-[[package]]
-name = "colorchoice"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422"
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
-
-[[package]]
-name = "cpufeatures"
-version = "0.2.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "crypto-common"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
-dependencies = [
- "generic-array",
- "typenum",
-]
-
-[[package]]
-name = "dbus"
-version = "0.9.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bb21987b9fb1613058ba3843121dd18b163b254d8a6e797e144cbac14d96d1b"
-dependencies = [
- "libc",
- "libdbus-sys",
- "winapi",
-]
-
-[[package]]
-name = "digest"
-version = "0.10.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
-dependencies = [
- "block-buffer",
- "crypto-common",
-]
-
-[[package]]
-name = "env_filter"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea"
-dependencies = [
- "log",
- "regex",
-]
-
-[[package]]
-name = "env_logger"
-version = "0.11.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9"
-dependencies = [
- "anstream",
- "anstyle",
- "env_filter",
- "humantime",
- "log",
-]
-
-[[package]]
-name = "errno"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
-dependencies = [
- "libc",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "fastrand"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a"
-
-[[package]]
-name = "generic-array"
-version = "0.14.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
-dependencies = [
- "typenum",
- "version_check",
-]
-
-[[package]]
-name = "handlebars"
-version = "5.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d08485b96a0e6393e9e4d1b8d48cf74ad6c063cd905eb33f42c1ce3f0377539b"
-dependencies = [
- "log",
- "pest",
- "pest_derive",
- "serde",
- "serde_json",
- "thiserror",
-]
-
-[[package]]
-name = "humantime"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
-
-[[package]]
-name = "iana-time-zone"
-version = "0.1.60"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
-dependencies = [
- "android_system_properties",
- "core-foundation-sys",
- "iana-time-zone-haiku",
- "js-sys",
- "wasm-bindgen",
- "windows-core",
-]
-
-[[package]]
-name = "iana-time-zone-haiku"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "is_terminal_polyfill"
-version = "1.70.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800"
-
-[[package]]
-name = "itoa"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
-
-[[package]]
-name = "js-sys"
-version = "0.3.69"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
-dependencies = [
- "wasm-bindgen",
-]
-
-[[package]]
-name = "libc"
-version = "0.2.155"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
-
-[[package]]
-name = "libdbus-sys"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06085512b750d640299b79be4bad3d2fa90a9c00b1fd9e1b46364f66f0485c72"
-dependencies = [
- "cc",
- "pkg-config",
-]
-
-[[package]]
-name = "linux-raw-sys"
-version = "0.4.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
-
-[[package]]
-name = "log"
-version = "0.4.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
-
-[[package]]
-name = "mdbook"
-version = "0.4.40"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b45a38e19bd200220ef07c892b0157ad3d2365e5b5a267ca01ad12182491eea5"
-dependencies = [
- "anyhow",
- "chrono",
- "clap",
- "clap_complete",
- "env_logger",
- "handlebars",
- "log",
- "memchr",
- "once_cell",
- "opener",
- "pulldown-cmark",
- "regex",
- "serde",
- "serde_json",
- "shlex",
- "tempfile",
- "toml",
- "topological-sort",
-]
-
-[[package]]
-name = "mdbook-spec"
-version = "0.1.2"
-dependencies = [
- "anyhow",
- "mdbook",
- "once_cell",
- "pathdiff",
- "regex",
- "semver",
- "serde_json",
- "tempfile",
-]
-
-[[package]]
-name = "memchr"
-version = "2.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
-
-[[package]]
-name = "normpath"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5831952a9476f2fed74b77d74182fa5ddc4d21c72ec45a333b250e3ed0272804"
-dependencies = [
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.19.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
-
-[[package]]
-name = "opener"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8df34be653210fbe9ffaff41d3b92721c56ce82dfee58ee684f9afb5e3a90c0"
-dependencies = [
- "bstr",
- "dbus",
- "normpath",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "pathdiff"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
-
-[[package]]
-name = "pest"
-version = "2.7.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95"
-dependencies = [
- "memchr",
- "thiserror",
- "ucd-trie",
-]
-
-[[package]]
-name = "pest_derive"
-version = "2.7.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a"
-dependencies = [
- "pest",
- "pest_generator",
-]
-
-[[package]]
-name = "pest_generator"
-version = "2.7.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183"
-dependencies = [
- "pest",
- "pest_meta",
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "pest_meta"
-version = "2.7.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f"
-dependencies = [
- "once_cell",
- "pest",
- "sha2",
-]
-
-[[package]]
-name = "pkg-config"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.86"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "pulldown-cmark"
-version = "0.10.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76979bea66e7875e7509c4ec5300112b316af87fa7a252ca91c448b32dfe3993"
-dependencies = [
- "bitflags",
- "memchr",
- "pulldown-cmark-escape",
- "unicase",
-]
-
-[[package]]
-name = "pulldown-cmark-escape"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd348ff538bc9caeda7ee8cad2d1d48236a1f443c1fa3913c6a02fe0043b1dd3"
-
-[[package]]
-name = "quote"
-version = "1.0.36"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "regex"
-version = "1.10.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-automata",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.4.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b"
-
-[[package]]
-name = "rustix"
-version = "0.38.34"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
-dependencies = [
- "bitflags",
- "errno",
- "libc",
- "linux-raw-sys",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "ryu"
-version = "1.0.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
-
-[[package]]
-name = "semver"
-version = "1.0.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
-
-[[package]]
-name = "serde"
-version = "1.0.203"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.203"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.120"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "sha2"
-version = "0.10.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "digest",
-]
-
-[[package]]
-name = "shlex"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
-
-[[package]]
-name = "strsim"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
-
-[[package]]
-name = "syn"
-version = "2.0.68"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "tempfile"
-version = "3.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
-dependencies = [
- "cfg-if",
- "fastrand",
- "rustix",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "terminal_size"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
-dependencies = [
- "rustix",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "thiserror"
-version = "1.0.61"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.61"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "toml"
-version = "0.5.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "topological-sort"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea68304e134ecd095ac6c3574494fc62b909f416c4fca77e440530221e549d3d"
-
-[[package]]
-name = "typenum"
-version = "1.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
-
-[[package]]
-name = "ucd-trie"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9"
-
-[[package]]
-name = "unicase"
-version = "2.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
-dependencies = [
- "version_check",
-]
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
-
-[[package]]
-name = "utf8parse"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
-
-[[package]]
-name = "version_check"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
-name = "wasm-bindgen"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
-dependencies = [
- "cfg-if",
- "wasm-bindgen-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-backend"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
-dependencies = [
- "bumpalo",
- "log",
- "once_cell",
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-macro"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
-dependencies = [
- "quote",
- "wasm-bindgen-macro-support",
-]
-
-[[package]]
-name = "wasm-bindgen-macro-support"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-backend",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-shared"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "windows-core"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
-dependencies = [
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-dependencies = [
- "windows-targets 0.48.5",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
-dependencies = [
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
-dependencies = [
- "windows_aarch64_gnullvm 0.48.5",
- "windows_aarch64_msvc 0.48.5",
- "windows_i686_gnu 0.48.5",
- "windows_i686_msvc 0.48.5",
- "windows_x86_64_gnu 0.48.5",
- "windows_x86_64_gnullvm 0.48.5",
- "windows_x86_64_msvc 0.48.5",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
-dependencies = [
- "windows_aarch64_gnullvm 0.52.6",
- "windows_aarch64_msvc 0.52.6",
- "windows_i686_gnu 0.52.6",
- "windows_i686_gnullvm",
- "windows_i686_msvc 0.52.6",
- "windows_x86_64_gnu 0.52.6",
- "windows_x86_64_gnullvm 0.52.6",
- "windows_x86_64_msvc 0.52.6",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
-
-[[package]]
-name = "windows_i686_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
diff --git a/mdbook-spec/Cargo.toml b/mdbook-spec/Cargo.toml
deleted file mode 100644
index a81915d..0000000
--- a/mdbook-spec/Cargo.toml
+++ /dev/null
@@ -1,19 +0,0 @@
-[package]
-name = "mdbook-spec"
-version = "0.1.2"
-edition = "2021"
-license = "MIT OR Apache-2.0"
-description = "An mdBook preprocessor to help with the Rust specification."
-repository = "https://github.com/rust-lang/spec/"
-
-# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
-
-[dependencies]
-anyhow = "1.0.79"
-mdbook = { version = "0.4.36", default-features = false }
-once_cell = "1.19.0"
-pathdiff = "0.2.1"
-regex = "1.9.4"
-semver = "1.0.21"
-serde_json = "1.0.113"
-tempfile = "3.10.1"
diff --git a/mdbook-spec/LICENSE-APACHE b/mdbook-spec/LICENSE-APACHE
deleted file mode 100644
index 1b5ec8b..0000000
--- a/mdbook-spec/LICENSE-APACHE
+++ /dev/null
@@ -1,176 +0,0 @@
-                              Apache License
-                        Version 2.0, January 2004
-                     http://www.apache.org/licenses/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
-   "License" shall mean the terms and conditions for use, reproduction,
-   and distribution as defined by Sections 1 through 9 of this document.
-
-   "Licensor" shall mean the copyright owner or entity authorized by
-   the copyright owner that is granting the License.
-
-   "Legal Entity" shall mean the union of the acting entity and all
-   other entities that control, are controlled by, or are under common
-   control with that entity. For the purposes of this definition,
-   "control" means (i) the power, direct or indirect, to cause the
-   direction or management of such entity, whether by contract or
-   otherwise, or (ii) ownership of fifty percent (50%) or more of the
-   outstanding shares, or (iii) beneficial ownership of such entity.
-
-   "You" (or "Your") shall mean an individual or Legal Entity
-   exercising permissions granted by this License.
-
-   "Source" form shall mean the preferred form for making modifications,
-   including but not limited to software source code, documentation
-   source, and configuration files.
-
-   "Object" form shall mean any form resulting from mechanical
-   transformation or translation of a Source form, including but
-   not limited to compiled object code, generated documentation,
-   and conversions to other media types.
-
-   "Work" shall mean the work of authorship, whether in Source or
-   Object form, made available under the License, as indicated by a
-   copyright notice that is included in or attached to the work
-   (an example is provided in the Appendix below).
-
-   "Derivative Works" shall mean any work, whether in Source or Object
-   form, that is based on (or derived from) the Work and for which the
-   editorial revisions, annotations, elaborations, or other modifications
-   represent, as a whole, an original work of authorship. For the purposes
-   of this License, Derivative Works shall not include works that remain
-   separable from, or merely link (or bind by name) to the interfaces of,
-   the Work and Derivative Works thereof.
-
-   "Contribution" shall mean any work of authorship, including
-   the original version of the Work and any modifications or additions
-   to that Work or Derivative Works thereof, that is intentionally
-   submitted to Licensor for inclusion in the Work by the copyright owner
-   or by an individual or Legal Entity authorized to submit on behalf of
-   the copyright owner. For the purposes of this definition, "submitted"
-   means any form of electronic, verbal, or written communication sent
-   to the Licensor or its representatives, including but not limited to
-   communication on electronic mailing lists, source code control systems,
-   and issue tracking systems that are managed by, or on behalf of, the
-   Licensor for the purpose of discussing and improving the Work, but
-   excluding communication that is conspicuously marked or otherwise
-   designated in writing by the copyright owner as "Not a Contribution."
-
-   "Contributor" shall mean Licensor and any individual or Legal Entity
-   on behalf of whom a Contribution has been received by Licensor and
-   subsequently incorporated within the Work.
-
-2. Grant of Copyright License. Subject to the terms and conditions of
-   this License, each Contributor hereby grants to You a perpetual,
-   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-   copyright license to reproduce, prepare Derivative Works of,
-   publicly display, publicly perform, sublicense, and distribute the
-   Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of
-   this License, each Contributor hereby grants to You a perpetual,
-   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-   (except as stated in this section) patent license to make, have made,
-   use, offer to sell, sell, import, and otherwise transfer the Work,
-   where such license applies only to those patent claims licensable
-   by such Contributor that are necessarily infringed by their
-   Contribution(s) alone or by combination of their Contribution(s)
-   with the Work to which such Contribution(s) was submitted. If You
-   institute patent litigation against any entity (including a
-   cross-claim or counterclaim in a lawsuit) alleging that the Work
-   or a Contribution incorporated within the Work constitutes direct
-   or contributory patent infringement, then any patent licenses
-   granted to You under this License for that Work shall terminate
-   as of the date such litigation is filed.
-
-4. Redistribution. You may reproduce and distribute copies of the
-   Work or Derivative Works thereof in any medium, with or without
-   modifications, and in Source or Object form, provided that You
-   meet the following conditions:
-
-   (a) You must give any other recipients of the Work or
-       Derivative Works a copy of this License; and
-
-   (b) You must cause any modified files to carry prominent notices
-       stating that You changed the files; and
-
-   (c) You must retain, in the Source form of any Derivative Works
-       that You distribute, all copyright, patent, trademark, and
-       attribution notices from the Source form of the Work,
-       excluding those notices that do not pertain to any part of
-       the Derivative Works; and
-
-   (d) If the Work includes a "NOTICE" text file as part of its
-       distribution, then any Derivative Works that You distribute must
-       include a readable copy of the attribution notices contained
-       within such NOTICE file, excluding those notices that do not
-       pertain to any part of the Derivative Works, in at least one
-       of the following places: within a NOTICE text file distributed
-       as part of the Derivative Works; within the Source form or
-       documentation, if provided along with the Derivative Works; or,
-       within a display generated by the Derivative Works, if and
-       wherever such third-party notices normally appear. The contents
-       of the NOTICE file are for informational purposes only and
-       do not modify the License. You may add Your own attribution
-       notices within Derivative Works that You distribute, alongside
-       or as an addendum to the NOTICE text from the Work, provided
-       that such additional attribution notices cannot be construed
-       as modifying the License.
-
-   You may add Your own copyright statement to Your modifications and
-   may provide additional or different license terms and conditions
-   for use, reproduction, or distribution of Your modifications, or
-   for any such Derivative Works as a whole, provided Your use,
-   reproduction, and distribution of the Work otherwise complies with
-   the conditions stated in this License.
-
-5. Submission of Contributions. Unless You explicitly state otherwise,
-   any Contribution intentionally submitted for inclusion in the Work
-   by You to the Licensor shall be under the terms and conditions of
-   this License, without any additional terms or conditions.
-   Notwithstanding the above, nothing herein shall supersede or modify
-   the terms of any separate license agreement you may have executed
-   with Licensor regarding such Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade
-   names, trademarks, service marks, or product names of the Licensor,
-   except as required for reasonable and customary use in describing the
-   origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or
-   agreed to in writing, Licensor provides the Work (and each
-   Contributor provides its Contributions) on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-   implied, including, without limitation, any warranties or conditions
-   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-   PARTICULAR PURPOSE. You are solely responsible for determining the
-   appropriateness of using or redistributing the Work and assume any
-   risks associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory,
-   whether in tort (including negligence), contract, or otherwise,
-   unless required by applicable law (such as deliberate and grossly
-   negligent acts) or agreed to in writing, shall any Contributor be
-   liable to You for damages, including any direct, indirect, special,
-   incidental, or consequential damages of any character arising as a
-   result of this License or out of the use or inability to use the
-   Work (including but not limited to damages for loss of goodwill,
-   work stoppage, computer failure or malfunction, or any and all
-   other commercial damages or losses), even if such Contributor
-   has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing
-   the Work or Derivative Works thereof, You may choose to offer,
-   and charge a fee for, acceptance of support, warranty, indemnity,
-   or other liability obligations and/or rights consistent with this
-   License. However, in accepting such obligations, You may act only
-   on Your own behalf and on Your sole responsibility, not on behalf
-   of any other Contributor, and only if You agree to indemnify,
-   defend, and hold each Contributor harmless for any liability
-   incurred by, or claims asserted against, such Contributor by reason
-   of your accepting any such warranty or additional liability.
-
-END OF TERMS AND CONDITIONS
diff --git a/mdbook-spec/LICENSE-MIT b/mdbook-spec/LICENSE-MIT
deleted file mode 100644
index 1653b5c..0000000
--- a/mdbook-spec/LICENSE-MIT
+++ /dev/null
@@ -1,25 +0,0 @@
-Copyright (c) 2024 The Rust Project Developers
-
-Permission is hereby granted, free of charge, to any
-person obtaining a copy of this software and associated
-documentation files (the "Software"), to deal in the
-Software without restriction, including without
-limitation the rights to use, copy, modify, merge,
-publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software
-is furnished to do so, subject to the following
-conditions:
-
-The above copyright notice and this permission notice
-shall be included in all copies or substantial portions
-of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
-ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
-TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
-PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
-SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
-IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
diff --git a/mdbook-spec/README.md b/mdbook-spec/README.md
deleted file mode 100644
index 1dce212..0000000
--- a/mdbook-spec/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# mdbook-spec
-
-This is an mdbook preprocessor to add some extensions for the Rust specification.
-
-> This crate is maintained by the [rust-lang/spec](https://github.com/rust-lang/spec/) team, primarily for use by the Rust Specification and not intended for external use (except as a transitive dependency). This crate may make major changes to its APIs or be deprecated without warning.
diff --git a/mdbook-spec/src/lib.rs b/mdbook-spec/src/lib.rs
deleted file mode 100644
index 6591e41..0000000
--- a/mdbook-spec/src/lib.rs
+++ /dev/null
@@ -1,172 +0,0 @@
-use mdbook::book::{Book, Chapter};
-use mdbook::errors::Error;
-use mdbook::preprocess::{CmdPreprocessor, Preprocessor, PreprocessorContext};
-use mdbook::BookItem;
-use once_cell::sync::Lazy;
-use regex::{Captures, Regex};
-use semver::{Version, VersionReq};
-use std::collections::BTreeMap;
-use std::io;
-use std::path::PathBuf;
-
-mod std_links;
-
-/// The Regex for rules like `r[foo]`.
-static RULE_RE: Lazy<Regex> = Lazy::new(|| Regex::new(r"(?m)^r\[([^]]+)]$").unwrap());
-
-/// The Regex for the syntax for blockquotes that have a specific CSS class,
-/// like `> [!WARNING]`.
-static ADMONITION_RE: Lazy<Regex> = Lazy::new(|| {
-    Regex::new(r"(?m)^ *> \[!(?<admon>[^]]+)\]\n(?<blockquote>(?: *> .*\n)+)").unwrap()
-});
-
-pub fn handle_preprocessing(pre: &dyn Preprocessor) -> Result<(), Error> {
-    let (ctx, book) = CmdPreprocessor::parse_input(io::stdin())?;
-
-    let book_version = Version::parse(&ctx.mdbook_version)?;
-    let version_req = VersionReq::parse(mdbook::MDBOOK_VERSION)?;
-
-    if !version_req.matches(&book_version) {
-        eprintln!(
-            "warning: The {} plugin was built against version {} of mdbook, \
-             but we're being called from version {}",
-            pre.name(),
-            mdbook::MDBOOK_VERSION,
-            ctx.mdbook_version
-        );
-    }
-
-    let processed_book = pre.run(&ctx, book)?;
-    serde_json::to_writer(io::stdout(), &processed_book)?;
-
-    Ok(())
-}
-
-pub struct Spec {
-    /// Whether or not warnings should be errors (set by SPEC_DENY_WARNINGS
-    /// environment variable).
-    deny_warnings: bool,
-}
-
-impl Spec {
-    pub fn new() -> Spec {
-        Spec {
-            deny_warnings: std::env::var("SPEC_DENY_WARNINGS").as_deref() == Ok("1"),
-        }
-    }
-
-    /// Converts lines that start with `r[…]` into a "rule" which has special
-    /// styling and can be linked to.
-    fn rule_definitions(
-        &self,
-        chapter: &Chapter,
-        found_rules: &mut BTreeMap<String, (PathBuf, PathBuf)>,
-    ) -> String {
-        let source_path = chapter.source_path.clone().unwrap_or_default();
-        let path = chapter.path.clone().unwrap_or_default();
-        RULE_RE
-            .replace_all(&chapter.content, |caps: &Captures<'_>| {
-                let rule_id = &caps[1];
-                if let Some((old, _)) =
-                    found_rules.insert(rule_id.to_string(), (source_path.clone(), path.clone()))
-                {
-                    let message = format!(
-                        "rule `{rule_id}` defined multiple times\n\
-                        First location: {old:?}\n\
-                        Second location: {source_path:?}"
-                    );
-                    if self.deny_warnings {
-                        panic!("error: {message}");
-                    } else {
-                        eprintln!("warning: {message}");
-                    }
-                }
-                format!(
-                    "<div class=\"rule\" id=\"{rule_id}\">\
-                     <a class=\"rule-link\" href=\"#{rule_id}\">[{rule_id}]</a>\
-                     </div>\n"
-                )
-            })
-            .to_string()
-    }
-
-    /// Generates link references to all rules on all pages, so you can easily
-    /// refer to rules anywhere in the book.
-    fn auto_link_references(
-        &self,
-        chapter: &Chapter,
-        found_rules: &BTreeMap<String, (PathBuf, PathBuf)>,
-    ) -> String {
-        let current_path = chapter.path.as_ref().unwrap().parent().unwrap();
-        let definitions: String = found_rules
-            .iter()
-            .map(|(rule_id, (_, path))| {
-                let relative = pathdiff::diff_paths(path, current_path).unwrap();
-                format!("[{rule_id}]: {}#{rule_id}\n", relative.display())
-            })
-            .collect();
-        format!(
-            "{}\n\
-            {definitions}",
-            chapter.content
-        )
-    }
-
-    /// Converts blockquotes with special headers into admonitions.
-    ///
-    /// The blockquote should look something like:
-    ///
-    /// ```markdown
-    /// > [!WARNING]
-    /// > ...
-    /// ```
-    ///
-    /// This will add a `<div class="warning">` around the blockquote so that
-    /// it can be styled differently. Any text between the brackets that can
-    /// be a CSS class is valid. The actual styling needs to be added in a CSS
-    /// file.
-    fn admonitions(&self, chapter: &Chapter) -> String {
-        ADMONITION_RE
-            .replace_all(&chapter.content, |caps: &Captures<'_>| {
-                let lower = caps["admon"].to_lowercase();
-                format!(
-                    "<div class=\"{lower}\">\n\n{}\n\n</div>\n",
-                    &caps["blockquote"]
-                )
-            })
-            .to_string()
-    }
-}
-
-impl Preprocessor for Spec {
-    fn name(&self) -> &str {
-        "spec"
-    }
-
-    fn run(&self, _ctx: &PreprocessorContext, mut book: Book) -> Result<Book, Error> {
-        let mut found_rules = BTreeMap::new();
-        book.for_each_mut(|item| {
-            let BookItem::Chapter(ch) = item else {
-                return;
-            };
-            if ch.is_draft_chapter() {
-                return;
-            }
-            ch.content = self.rule_definitions(&ch, &mut found_rules);
-            ch.content = self.admonitions(&ch);
-            ch.content = std_links::std_links(&ch);
-        });
-        // This is a separate pass because it relies on the modifications of
-        // the previous passes.
-        book.for_each_mut(|item| {
-            let BookItem::Chapter(ch) = item else {
-                return;
-            };
-            if ch.is_draft_chapter() {
-                return;
-            }
-            ch.content = self.auto_link_references(&ch, &found_rules);
-        });
-        Ok(book)
-    }
-}
diff --git a/mdbook-spec/src/main.rs b/mdbook-spec/src/main.rs
deleted file mode 100644
index 56e11d7..0000000
--- a/mdbook-spec/src/main.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-fn main() {
-    let mut args = std::env::args().skip(1);
-    match args.next().as_deref() {
-        Some("supports") => {
-            // Supports all renderers.
-            return;
-        }
-        Some(arg) => {
-            eprintln!("unknown argument: {arg}");
-            std::process::exit(1);
-        }
-        None => {}
-    }
-
-    let preprocessor = mdbook_spec::Spec::new();
-
-    if let Err(e) = mdbook_spec::handle_preprocessing(&preprocessor) {
-        eprintln!("{}", e);
-        std::process::exit(1);
-    }
-}
diff --git a/mdbook-spec/src/std_links.rs b/mdbook-spec/src/std_links.rs
deleted file mode 100644
index cede9f3..0000000
--- a/mdbook-spec/src/std_links.rs
+++ /dev/null
@@ -1,215 +0,0 @@
-use mdbook::book::Chapter;
-use once_cell::sync::Lazy;
-use regex::{Captures, Regex};
-use std::collections::HashSet;
-use std::fmt::Write as _;
-use std::fs;
-use std::io::{self, Write as _};
-use std::process::{self, Command};
-use tempfile::TempDir;
-
-/// A markdown link (without the brackets) that might possibly be a link to
-/// the standard library using rustdoc's intra-doc notation.
-const STD_LINK: &str = r"(?: [a-z]+@ )?
-                         (?: std|core|alloc|proc_macro|test )
-                         (?: ::[A-Za-z0-9_!:<>{}()\[\]]+ )?";
-
-/// The Regex for a markdown link that might be a link to the standard library.
-static STD_LINK_RE: Lazy<Regex> = Lazy::new(|| {
-    Regex::new(&format!(
-        r"(?x)
-            (?:
-                ( \[`[^`]+`\] ) \( ({STD_LINK}) \)
-            )
-            | (?:
-                ( \[`{STD_LINK}`\] )
-            )
-         "
-    ))
-    .unwrap()
-});
-
-/// The Regex used to extract the std links from the HTML generated by rustdoc.
-static STD_LINK_EXTRACT_RE: Lazy<Regex> =
-    Lazy::new(|| Regex::new(r#"<li><a [^>]*href="(https://doc.rust-lang.org/[^"]+)""#).unwrap());
-
-/// The Regex for a markdown link definition.
-static LINK_DEF_RE: Lazy<Regex> = Lazy::new(|| {
-    // This is a pretty lousy regex for a link definition. It doesn't
-    // handle things like blockquotes, code blocks, etc. Using a
-    // markdown parser isn't really feasible here, it would be nice to
-    // improve this.
-    Regex::new(r#"(?m)^(?<label>\[[^]]+\]): *(?<dest>.*)"#).unwrap()
-});
-
-/// Converts links to the standard library to the online documentation in a
-/// fashion similar to rustdoc intra-doc links.
-pub fn std_links(chapter: &Chapter) -> String {
-    let links = collect_markdown_links(chapter);
-    if links.is_empty() {
-        return chapter.content.clone();
-    }
-
-    // Write a Rust source file to use with rustdoc to generate intra-doc links.
-    let tmp = TempDir::with_prefix("mdbook-spec-").unwrap();
-    run_rustdoc(&tmp, &links, &chapter);
-
-    // Extract the links from the generated html.
-    let generated =
-        fs::read_to_string(tmp.path().join("doc/a/index.html")).expect("index.html generated");
-    let urls: Vec<_> = STD_LINK_EXTRACT_RE
-        .captures_iter(&generated)
-        .map(|cap| cap.get(1).unwrap().as_str())
-        .collect();
-    if urls.len() != links.len() {
-        eprintln!(
-            "error: expected rustdoc to generate {} links, but found {} in chapter {} ({:?})",
-            links.len(),
-            urls.len(),
-            chapter.name,
-            chapter.source_path.as_ref().unwrap()
-        );
-        process::exit(1);
-    }
-
-    // Replace any disambiguated links with just the disambiguation.
-    let mut output = STD_LINK_RE
-        .replace_all(&chapter.content, |caps: &Captures<'_>| {
-            if let Some(dest) = caps.get(2) {
-                // Replace destination parenthesis with a link definition (square brackets).
-                format!("{}[{}]", &caps[1], dest.as_str())
-            } else {
-                caps[0].to_string()
-            }
-        })
-        .to_string();
-
-    // Append the link definitions to the bottom of the chapter.
-    write!(output, "\n").unwrap();
-    for ((link, dest), url) in links.iter().zip(urls) {
-        // Convert links to be relative so that links work offline and
-        // with the linkchecker.
-        let url = relative_url(url, chapter);
-        if let Some(dest) = dest {
-            write!(output, "[{dest}]: {url}\n").unwrap();
-        } else {
-            write!(output, "{link}: {url}\n").unwrap();
-        }
-    }
-
-    output
-}
-
-/// Collects all markdown links, excluding those that already have link definitions.
-///
-/// Returns a `Vec` of `(link, Option<dest>)` where markdown text like
-/// ``[`std::fmt`]`` would return that as a link. The dest is optional, for
-/// example ``[`Option`](std::option::Option)`` would have the part in
-/// parentheses as the dest.
-fn collect_markdown_links(chapter: &Chapter) -> Vec<(&str, Option<&str>)> {
-    let mut links: Vec<_> = STD_LINK_RE
-        .captures_iter(&chapter.content)
-        .map(|cap| {
-            if let Some(no_dest) = cap.get(3) {
-                (no_dest.as_str(), None)
-            } else {
-                (
-                    cap.get(1).unwrap().as_str(),
-                    Some(cap.get(2).unwrap().as_str()),
-                )
-            }
-        })
-        .collect();
-    if links.is_empty() {
-        return vec![];
-    }
-    links.sort();
-    links.dedup();
-    // Remove any links that already have a link definition. We don't want
-    // to override what the author explicitly specified.
-    let existing_labels: HashSet<_> = LINK_DEF_RE
-        .captures_iter(&chapter.content)
-        .map(|cap| cap.get(1).unwrap().as_str())
-        .collect();
-    links.retain(|(link, dest)| {
-        let mut tmp = None;
-        let label: &str = dest.map_or(link, |d| {
-            tmp = Some(format!("[`{d}`]"));
-            tmp.as_deref().unwrap()
-        });
-        !existing_labels.contains(label)
-    });
-
-    links
-}
-
-/// Generates links using rustdoc.
-///
-/// This takes the given links and creates a temporary Rust source file
-/// containing those links within doc-comments, and then runs rustdoc to
-/// generate intra-doc links on them.
-///
-/// The output will be in the given `tmp` directory.
-fn run_rustdoc(tmp: &TempDir, links: &[(&str, Option<&str>)], chapter: &Chapter) {
-    let src_path = tmp.path().join("a.rs");
-    // Allow redundant since there could some in-scope things that are
-    // technically not necessary, but we don't care about (like
-    // [`Option`](std::option::Option)).
-    let mut src = format!(
-        "#![deny(rustdoc::broken_intra_doc_links)]\n\
-         #![allow(rustdoc::redundant_explicit_links)]\n"
-    );
-    for (link, dest) in links {
-        write!(src, "//! - {link}").unwrap();
-        if let Some(dest) = dest {
-            write!(src, "({})", dest).unwrap();
-        }
-        src.push('\n');
-    }
-    writeln!(
-        src,
-        "extern crate alloc;\n\
-         extern crate proc_macro;\n\
-         extern crate test;\n"
-    )
-    .unwrap();
-    fs::write(&src_path, &src).unwrap();
-    let rustdoc = std::env::var("RUSTDOC").unwrap_or_else(|_| "rustdoc".into());
-    let output = Command::new(rustdoc)
-        .arg("--edition=2021")
-        .arg(&src_path)
-        .current_dir(tmp.path())
-        .output()
-        .expect("rustdoc installed");
-    if !output.status.success() {
-        eprintln!(
-            "error: failed to extract std links ({:?}) in chapter {} ({:?})\n",
-            output.status,
-            chapter.name,
-            chapter.source_path.as_ref().unwrap()
-        );
-        io::stderr().write_all(&output.stderr).unwrap();
-        process::exit(1);
-    }
-}
-
-static DOC_URL: Lazy<Regex> = Lazy::new(|| {
-    Regex::new(r"^https://doc.rust-lang.org/(?:nightly|beta|stable|dev|1\.[0-9]+\.[0-9]+)").unwrap()
-});
-
-/// Converts a URL to doc.rust-lang.org to be relative.
-fn relative_url(url: &str, chapter: &Chapter) -> String {
-    // Set SPEC_RELATIVE=0 to disable this, which can be useful for working locally.
-    if std::env::var("SPEC_RELATIVE").as_deref() != Ok("0") {
-        let Some(url_start) = DOC_URL.shortest_match(url) else {
-            eprintln!("expected rustdoc URL to start with {DOC_URL:?}, got {url}");
-            std::process::exit(1);
-        };
-        let url_path = &url[url_start..];
-        let num_dots = chapter.path.as_ref().unwrap().components().count();
-        let dots = vec![".."; num_dots].join("/");
-        format!("{dots}{url_path}")
-    } else {
-        url.to_string()
-    }
-}

From 2aab87b38bc5b1f70102190d01538fa0f4ccc370 Mon Sep 17 00:00:00 2001
From: Eric Huss <eric@huss.org>
Date: Thu, 25 Jul 2024 07:49:30 -0700
Subject: [PATCH 5/9] Remove spec source README.

There isn't anything here, and no intent to add anything, and there
shouldn't be any links to this.
---
 spec/README.md | 1 -
 1 file changed, 1 deletion(-)
 delete mode 100644 spec/README.md

diff --git a/spec/README.md b/spec/README.md
deleted file mode 100644
index 5963e37..0000000
--- a/spec/README.md
+++ /dev/null
@@ -1 +0,0 @@
-See the project [README](../README.md) for information on the process for creating the Rust specification.
\ No newline at end of file

From b02d638de2b8767d37a4d6214e271445a1ca2bc1 Mon Sep 17 00:00:00 2001
From: Eric Huss <eric@huss.org>
Date: Thu, 25 Jul 2024 07:50:16 -0700
Subject: [PATCH 6/9] Remove authoring guide

This has moved to https://github.com/rust-lang/reference/blob/master/docs/authoring.md
---
 docs/authoring.md | 79 -----------------------------------------------
 1 file changed, 79 deletions(-)
 delete mode 100644 docs/authoring.md

diff --git a/docs/authoring.md b/docs/authoring.md
deleted file mode 100644
index f92b442..0000000
--- a/docs/authoring.md
+++ /dev/null
@@ -1,79 +0,0 @@
-# Authoring Guide
-
-## Markdown formatting
-
-* Use [ATX-style headings][atx] (not Setext) with [sentence case].
-* Do not use tabs, only spaces.
-* Files must end with a newline.
-* Lines must not end with spaces. Double spaces have semantic meaning, but can be invisible. Use a trailing backslash if you need a hard line break.
-* If possible, avoid double blank lines.
-* Do not use indented code blocks, use 3+ backticks code blocks instead.
-* Code blocks should have an explicit language tag.
-* Do not wrap long lines. This helps with reviewing diffs of the source.
-* Use [smart punctuation] instead of Unicode characters. For example, use `---` for em-dash instead of the Unicode character. Characters like em-dash can be difficult to see in a fixed-width editor, and some editors may not have easy methods to enter such characters.
-
-There are automated checks for some of these rules. Run `cargo run --manifest-path style-check/Cargo.toml -- spec` to run them locally.
-
-[atx]: https://spec.commonmark.org/0.31.2/#atx-headings
-[sentence case]: https://apastyle.apa.org/style-grammar-guidelines/capitalization/sentence-case
-[smart punctuation]: https://rust-lang.github.io/mdBook/format/markdown.html#smart-punctuation
-
-## Special markdown constructs
-
-### Rules
-
-Most clauses should be preceded with a rule.
-Rules can be specified in the markdown source with the following on a line by itself:
-
-```
-r[foo.bar]
-```
-
-The rule name should be lowercase, with periods separating from most general to most specific (like `r[array.repeat.zero]`).
-
-Rules can be linked to by their ID using markdown such as `[foo.bar]`. There are automatic link references so that any rule can be referred to from any page in the book.
-
-In the HTML, the rules are clickable just like headers.
-
-### Standard library links
-
-You should link to the standard library without specifying a URL in a fashion similar to [rustdoc intra-doc links][intra]. Some examples:
-
-```
-Link to Option is [`std::option::Option`]
-
-You can include generics, they are ignored, like [`std::option::Option<T>`]
-
-You can shorthand things if you don't want the full path in the text,
-like [`Option`](std::option::Option).
-
-Macros can use `!`, which also works for disambiguation,
-like [`alloc::vec!`] is the macro, not the module.
-
-Explicit namespace disambiguation is also supported, such as [`std::vec`](mod@std::vec).
-```
-
-[intra]: https://doc.rust-lang.org/rustdoc/write-documentation/linking-to-items-by-name.html
-
-### Admonitions
-
-Admonitions use a style similar to GitHub-flavored markdown, where the style name is placed at the beginning of a blockquote, such as:
-
-```
-> [!WARNING]
-> This is a warning.
-```
-
-All this does is apply a CSS class to the blockquote. You should define the color or style of the rule in the `css/custom.css` file if it isn't already defined.
-
-## Content guidelines
-
-The following are guidelines for the content of the spec.
-
-### Targets
-
-The spec does not document which targets exist, or the properties of specific targets. The spec may refer to *platforms* or *target properties* where required by the language. Some examples:
-
-* Conditional-compilation keys like `target_os` are specified to exist, but not what their values must be.
-* The `windows_subsystem` attribute specifies that it only works on Windows platforms.
-* Inline assembly and the `target_feature` attribute specify the architectures that are supported.

From b794f8a9832dfba630f89bf2690e75b7238d3bae Mon Sep 17 00:00:00 2001
From: Eric Huss <eric@huss.org>
Date: Thu, 25 Jul 2024 07:51:58 -0700
Subject: [PATCH 7/9] Remove the book

The book text is now in https://github.com/rust-lang/reference/
---
 .gitignore     |   1 -
 book.toml      |  14 -----
 css/custom.css | 167 -------------------------------------------------
 3 files changed, 182 deletions(-)
 delete mode 100644 .gitignore
 delete mode 100644 book.toml
 delete mode 100644 css/custom.css

diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 7585238..0000000
--- a/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-book
diff --git a/book.toml b/book.toml
deleted file mode 100644
index eced413..0000000
--- a/book.toml
+++ /dev/null
@@ -1,14 +0,0 @@
-[book]
-language = "en"
-title = "The Rust Specification"
-src = "spec"
-
-[output.html]
-additional-css = ["css/custom.css"]
-curly-quotes = true
-
-[preprocessor.spec]
-command = "cargo run --locked --manifest-path=mdbook-spec/Cargo.toml"
-
-[build]
-extra-watch-dirs = ["mdbook-spec/src", "css"]
diff --git a/css/custom.css b/css/custom.css
deleted file mode 100644
index 5702dcb..0000000
--- a/css/custom.css
+++ /dev/null
@@ -1,167 +0,0 @@
-/* Custom CSS for the Rust Specification. */
-
-/* <kbd> tags can be used to highlight specific character elements. */
-kbd {
-    border: 1px solid #999;
-    display: inline-block;
-    border-radius: 3px;
-    padding: 0 0.6ex;
-    background: #eee;
-    box-shadow: inset -1px -1px 0 #999;
-    vertical-align: baseline;
-    color: #000;
-    height: 1.55em;
-    font-style: normal;
-    font-weight: bold;
-    font-family: inherit;
-    font-size: revert;
-    line-height: revert;
-}
-kbd.optional {
-    border-style: dashed;
-    background: #fff;
-}
-var.optional {
-    border-style: dashed;
-}
-/* <var> tags can be used for non-terminals. */
-var {
-    border: 1px solid #9c9;
-    box-shadow: inset -1px -1px 0 #9c9;
-    font-style: normal;
-    display: inline-block;
-    vertical-align: baseline;
-    border-radius: 7px;
-    padding: 0 4px;
-    background: #dfd;
-    margin: 2px;
-}
-var.type {
-    box-shadow: inset -1px -1px 0 #c99;
-    border-color: #c99;
-    background: #fdd;
-}
-/* <span class="repeat"> can be used for a grammar production that repeats zero or more times. */
-span.repeat {
-    position: relative;
-    border: 1px dashed #393;
-    border-radius: 10px;
-    display: inline-block;
-    padding: 6px;
-    margin-left: 0.5ex;
-    margin-top: 1em;
-    margin-bottom: 0.5ex;
-    min-width: 3.8em;
-    text-align: center;
-}
-span.repeat::before {
-    content: "zero or more";
-    white-space: nowrap;
-    display: block;
-    text-align: center;
-    font-size: 0.75em;
-    position: absolute;
-    left: 0;
-    right: 0;
-    top: -1.4em;
-    color: #393;
-}
-var > span {
-    display: inline-block;
-    border-right: 1px dotted green;
-    padding-right: 0.5ex;
-    margin-right: 0.5ex;
-    font-style: italic;
-}
-
-/* <span class="version"> can be used to highlight a specific version of Rust. */
-span.version {
-    float: right;
-    margin-left: 1em;
-    margin-bottom: 1em;
-    background: #f7c0eb;
-    padding: 0.2ex 0.5ex;
-    border-radius: 5px;
-    display: block;
-    box-shadow: inset -1px -1px 0 #a06894;
-    font-size: 0.9em;
-}
-
-/* <dfn> tags are used to indicate a specific word or phrase is being defined. */
-dfn {
-    font-style: italic;
-    text-decoration: underline;
-}
-
-.content main {
-    /* Provides space on the left for the rule call-outs. */
-    padding-left: 4em;
-}
-
-/* Rules are generated via r[foo.bar] syntax, processed by mdbook-spec. */
-.rule {
-    /* Allows the rule to be positioned. */
-    position: relative;
-    /* Position slightly to the left. */
-    left: -4em;
-    color: #999;
-    font-size: 0.8em;
-}
-/* mdbook will wrap the rule content in a <p> tag, with a margin. However, we
-   don't need the extra space
-*/
-.rule ~ p {
-    margin-top: 0px;
-}
-
-/* Change the default styling of blockquotes. */
-blockquote {
-    font-style: italic;
-    font-size: 0.9em;
-    color: #333;
-    background: #fff2d3;
-    padding: 1ex 1em;
-    margin: 1ex;
-    margin-left: 2em;
-    display: table;
-    /* vw units allow this to be adaptive to the screen size so it isn't too small on mobile. */
-    margin-right: 12vw;
-}
-/* mdbook will wrap the blockquote content in a <p> tag, with a margin. However,
-   that adds too much space, so remove it.
-*/
-blockquote > p {
-    margin-top: 0px;
-    margin-bottom: 0px;
-}
-
-/* When the sidebar is visible, reduce the spacing of rules so that the
-   content doesn't get shifted too far, and make the text too narrow.
-*/
-.sidebar-visible .rule {
-    left: -1em;
-}
-.sidebar-visible .content main {
-    padding-left: 1em;
-}
-
-/* Remove the blue coloring of links on rules that mdbook normally sets. */
-.rule-link {
-    color: #999 !important;
-}
-
-/* When clicking a rule, it is added as a URL fragment and the browser will
-   navigate to it. This adds an indicator that the linked rule is the one that
-   is "current", just like normal headers are in mdbook.
-*/
-.rule:target::before {
-    display: inline-block;
-    content: "»";
-    margin-inline-start: -20px;
-    width: 20px;
-}
-
-/* Sets the color for [!HISTORY] blockquote admonitions. */
-.history > blockquote {
-    background: #f7c0eb;
-}

From 09b995c5b3c4caddc30eedf3fe8b6a65e70fc53f Mon Sep 17 00:00:00 2001
From: Eric Huss <eric@huss.org>
Date: Thu, 25 Jul 2024 07:52:26 -0700
Subject: [PATCH 8/9] Update CONTRIBUTING now that the book is not here

---
 CONTRIBUTING.md | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index ad6b864..6436236 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -6,11 +6,3 @@
 > on [Zulip] if you are interested in participating.
 
 [Zulip]: https://rust-lang.zulipchat.com/#narrow/stream/399173-t-spec
-
-## Building
-
-See the [Building docs](README.md#building) for information on generating HTML from the specification source files.
-
-## Authoring guide
-
-See the [Authoring Guide](docs/authoring.md) for information about working with the specification source files.

From fab0b0c8a77870e8d9ca14be906bebb12f6ca9c9 Mon Sep 17 00:00:00 2001
From: Eric Huss <eric@huss.org>
Date: Thu, 25 Jul 2024 07:54:44 -0700
Subject: [PATCH 9/9] Remove workflows

These are no longer needed now that mdbook-spec and the book are not
here.
---
 .github/workflows/ci.yml                  | 29 -----------------------
 .github/workflows/publish-mdbook-spec.yml | 27 ---------------------
 2 files changed, 56 deletions(-)
 delete mode 100644 .github/workflows/ci.yml
 delete mode 100644 .github/workflows/publish-mdbook-spec.yml

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
deleted file mode 100644
index d7ac195..0000000
--- a/.github/workflows/ci.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-name: CI
-on:
-  pull_request:
-  merge_group:
-
-jobs:
-  test:
-    name: Test
-    runs-on: ubuntu-latest
-    steps:
-    - uses: actions/checkout@master
-    - name: Verify mdbook-spec lockfile is current
-      working-directory: ./mdbook-spec
-      run: cargo update -p mdbook-spec --locked
-    - name: Test mdbook-spec
-      working-directory: ./mdbook-spec
-      run: cargo test
-    - name: Rustfmt check
-      working-directory: ./mdbook-spec
-      run: cargo fmt --check
-    - name: Install mdbook
-      run: |
-        mkdir bin
-        curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.37/mdbook-v0.4.37-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=bin
-        echo "$(pwd)/bin" >> $GITHUB_PATH
-    - name: Verify the book builds
-      env:
-        SPEC_DENY_WARNINGS: 1
-      run: mdbook build
diff --git a/.github/workflows/publish-mdbook-spec.yml b/.github/workflows/publish-mdbook-spec.yml
deleted file mode 100644
index 3fb9ffe..0000000
--- a/.github/workflows/publish-mdbook-spec.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-name: Publish mdbook-spec
-on:
-  workflow_dispatch:
-
-permissions:
-  contents: write
-
-jobs:
-  publish:
-    name: Publish mdbook-spec
-    runs-on: ubuntu-latest
-    defaults:
-      run:
-        working-directory: ./mdbook-spec
-    steps:
-      - uses: actions/checkout@master
-      - name: Test
-        run: cargo test
-      - name: Publish
-        env:
-          CARGO_REGISTRY_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
-        run: |
-          version=`sed -n -E 's/^version = "(.*)"/\1/p' Cargo.toml`
-          cargo publish --no-verify
-          tag="mdbook-spec-${version}"
-          git tag $tag
-          git push origin "$tag"