rust/compiler/rustc_data_structures/src
Dylan DPC d5ae6737bf
Rollup merge of #102037 - jyn514:normalize-docs, r=lcnr
Make cycle errors recoverable

In particular, this allows rustdoc to recover from cycle errors when normalizing associated types for documentation.

In the past, ```@jackh726``` has said we need to be careful about overflow errors: https://github.com/rust-lang/rust/pull/91430#issuecomment-983997013

> Off the top of my head, we definitely should be careful about treating overflow errors the same as
"not implemented for some reason" errors. Otherwise, you could end up with behavior that is
different depending on recursion depth. But, that might be context-dependent.

But cycle errors should be safe to unconditionally report; they don't depend on the recursion depth, they will always be an error whenever they're encountered.

Helps with https://github.com/rust-lang/rust/issues/81091.

r? ```@lcnr``` cc ```@matthewjasper```
2022-09-22 18:25:53 +05:30
..
base_n Adapt rustc_data_structures tests to run in strict miri 2022-06-04 17:46:29 +02:00
binary_search_util Adopt let else in more places 2022-02-19 17:27:43 +01:00
fingerprint Make Fingerprint::combine_commutative associative 2022-01-03 19:07:29 +01:00
flock separate flock implementations into separate modules 2022-04-14 18:30:53 -04:00
graph Adapt rustc_data_structures tests to run in strict miri 2022-06-04 17:46:29 +02:00
intern Rename PtrKey as Interned and improve it. 2022-02-15 15:50:29 +11:00
obligation_forest Make cycle errors recoverable 2022-09-19 22:14:40 -05:00
owning_ref Adapt rustc_data_structures tests to run in strict miri 2022-06-04 17:46:29 +02:00
sip128 SipHasher128: improve constant names and add more comments 2020-10-11 23:48:35 -07:00
small_c_str
small_str Add SmallStr 2022-03-04 16:57:34 +01:00
snapshot_map Call the method fork instead of clone and add proper comments 2022-02-14 12:57:20 -03:00
sorted_map Remove invalid #[cfg(tests)] in index_map 2022-03-04 11:34:50 +01:00
sso Tweak insert docs 2022-05-31 22:08:14 -07:00
stable_hasher Fix isize optimization in StableHasher for big-endian architectures 2022-02-03 11:47:41 +01:00
tagged_ptr Small performance tweaks 2021-12-12 12:35:01 +08:00
tiny_list Move some test-only code to test files 2021-03-17 10:31:30 -04:00
transitive_relation get rid of RefCell in TransitiveRelation 2022-08-22 18:08:46 +08:00
vec_map eplace usages of vec![].into_iter with [].into_iter 2022-01-09 14:09:25 +11:00
atomic_ref.rs
base_n.rs Apply clippy suggestions 2021-10-10 15:38:19 +02:00
captures.rs Remove #[allow(unused_lifetimes)] which is now unnecessary 2021-06-17 08:56:54 +09:00
fingerprint.rs Fix a bunch of typo 2022-08-31 18:24:55 +08:00
flock.rs separate flock implementations into separate modules 2022-04-14 18:30:53 -04:00
frozen.rs fix most compiler/ doctests 2022-05-02 17:40:30 -07:00
functor.rs Make IdFunctor::try_map_id panic-safe 2021-12-07 11:11:23 +00:00
fx.rs rustc_error, rustc_private, rustc_ast: Switch to stable hash containers 2022-09-10 11:49:12 +02:00
intern.rs Document and rename the new wrapper type 2022-04-07 13:01:48 +00:00
jobserver.rs Move/rename lazy::Sync{OnceCell,Lazy} to sync::{Once,Lazy}Lock 2022-06-16 19:54:42 +04:00
lib.rs Only enable the let_else feature on bootstrap 2022-09-15 21:06:45 +02:00
macros.rs Introduce ChunkedBitSet and use it for some dataflow analyses. 2022-02-23 10:18:49 +11:00
map_in_place.rs Replace rustc_data_structures::thin_vec::ThinVec with thin_vec::ThinVec. 2022-08-29 15:42:13 +10:00
memmap.rs define MmapMut and use it in Decodable impl 2022-07-02 22:54:37 +09:00
profiling.rs Fixed RSS reporting on macOS 2022-06-22 15:24:54 +03:00
sharded.rs Move Sharded maps into each QueryCache impl 2022-02-20 12:10:46 -05:00
sip128.rs Fix stacked borrows invalidation in rustc_data_structures sip128 2022-06-04 17:46:36 +02:00
small_c_str.rs Inline SmallCStr::deref 2022-03-04 16:57:34 +01:00
small_str.rs Add SmallStr 2022-03-04 16:57:34 +01:00
sorted_map.rs Use more into_iter rather than drain(..) 2022-08-30 04:42:03 +01:00
stable_hasher.rs remove some manual hash stable impls 2022-07-29 12:48:28 +02:00
stack.rs Allow inlining of ensure_sufficient_stack() 2022-02-12 11:30:04 +01:00
steal.rs more clippy fixes 2021-11-07 16:59:05 +01:00
svh.rs Use delayed error handling for Encodable and Encoder infallible. 2022-06-08 07:01:26 +10:00
sync.rs Move Queries::new out of the macro 2022-09-06 21:41:01 -05:00
tagged_ptr.rs fix most compiler/ doctests 2022-05-02 17:40:30 -07:00
temp_dir.rs Capitalize safety comments 2020-09-08 22:37:18 -04:00
tiny_list.rs Apply clippy suggestions 2021-10-10 15:38:19 +02:00
transitive_relation.rs get rid of RefCell in TransitiveRelation 2022-08-22 18:08:46 +08:00
unhash.rs Avoid rehashing Fingerprint as a map key 2020-09-01 18:27:02 -07:00
vec_linked_list.rs Stop enabling in_band_lifetimes in rustc_data_structures 2021-12-05 20:17:35 -08:00
vec_map.rs Fix some fallout around type alias impl trait in associated types 2022-04-06 12:56:22 +00:00
work_queue.rs Remove (lots of) dead code 2021-03-27 22:16:33 -04:00