rust/src/tools
Nicholas Nethercote 4f008e06c3 Clarify Layout interning.
`Layout` is another type that is sometimes interned, sometimes not, and
we always use references to refer to it so we can't take any advantage
of the uniqueness properties for hashing or equality checks.

This commit renames `Layout` as `LayoutS`, and then introduces a new
`Layout` that is a newtype around an `Interned<LayoutS>`. It also
interns more layouts than before. Previously layouts within layouts
(via the `variants` field) were never interned, but now they are. Hence
the lifetime on the new `Layout` type.

Unlike other interned types, these ones are in `rustc_target` instead of
`rustc_middle`. This reflects the existing structure of the code, which
does layout-specific stuff in `rustc_target` while `TyAndLayout` is
generic over the `Ty`, allowing the type-specific stuff to occur in
`rustc_middle`.

The commit also adds a `HashStable` impl for `Interned`, which was
needed. It hashes the contents, unlike the `Hash` impl which hashes the
pointer.
2022-03-07 13:41:47 +11:00
..
build-manifest Remove num_cpus dependency from bootstrap, build-manifest and rustc_session 2022-03-02 15:39:04 +01:00
bump-stage0 remove "field is never read" warning 2021-10-23 21:55:57 -04:00
cargo@3d6970d50e Update cargo 2022-02-28 12:42:09 -08:00
cargotest Migrate to 2021 2021-09-20 22:21:42 -04:00
clippy Clarify Layout interning. 2022-03-07 13:41:47 +11:00
compiletest bootstrap: correct reading of flags for llvm 2022-03-03 09:42:23 -08:00
error_index_generator Rollup merge of #89506 - yaymukund:docblock-headings, r=GuillaumeGomez 2021-10-06 12:33:20 -07:00
expand-yaml-anchors Migrate to 2021 2021-09-20 22:21:42 -04:00
html-checker Support early stopping too old pre-installed tidy command for macOS in the HTML checker 2021-11-07 10:25:04 +09:00
jsondocck jsondocck: Improved error messages for invalid json value and failed @count check 2022-02-09 16:10:58 +00:00
linkchecker linkchecker: fix panic on directory symlinks 2022-02-11 10:45:59 +01:00
lint-docs Adjust documentation for compatibility with 2021 2021-09-20 22:21:43 -04:00
lld-wrapper rustdoc: several minor fixes 2022-02-19 03:47:41 +08:00
miri@54b14b7f01 update Miri 2022-03-05 22:44:34 -05:00
remote-test-client Migrate to 2021 2021-09-20 22:21:42 -04:00
remote-test-server Migrate to 2021 2021-09-20 22:21:42 -04:00
rls@3df74381f3 Update rls 2022-02-10 07:47:01 -08:00
rust-analyzer@4e72700e38 ⬆️ rust-analyzer 2022-03-01 07:20:26 +02:00
rust-demangler mangling_v0: Update tests for the rust-demangler tool 2022-01-08 11:39:34 +08:00
rust-installer@5254dbfd25 bump rust-installer submodule 2020-12-28 12:48:11 +01:00
rustbook Update mdbook 2021-12-03 12:25:07 -08:00
rustc-workspace-hack Update winapi shared features. 2021-10-12 07:14:32 -07:00
rustdoc Migrate to 2021 2021-09-20 22:21:42 -04:00
rustdoc-gui Improve code for rustdoc-gui tester 2021-12-06 10:40:38 +01:00
rustdoc-js Update tester to have FILTER_CRATE set to null if undefined. 2022-02-03 22:59:33 +01:00
rustdoc-themes Migrate to 2021 2021-09-20 22:21:42 -04:00
rustfmt Rollup merge of #94617 - pierwill:update-itertools, r=Mark-Simulacrum 2022-03-06 15:41:26 +01:00
tidy Provide C FFI types via core::ffi, not just in std 2022-03-01 17:16:05 -08:00
tier-check Migrate to 2021 2021-09-20 22:21:42 -04:00
unicode-table-generator Let unicode-table-generator fail gracefully for bitsets 2021-10-06 17:35:49 -07:00
unstable-book-gen Migrate to 2021 2021-09-20 22:21:42 -04:00
x Migrate to 2021 2021-09-20 22:21:42 -04:00
cherry-pick.sh Add cherry-pick.sh convenience script. 2021-08-20 11:58:18 +01:00
publish_toolstate.py Disable validate_maintainers. 2021-09-15 09:25:06 -07:00