|
1 |
| -/// The search graph is responsible for caching and cycle detection in the trait |
2 |
| -/// solver. Making sure that caching doesn't result in soundness bugs or unstable |
3 |
| -/// query results is very challenging and makes this one of the most-involved |
4 |
| -/// self-contained components of the compiler. |
5 |
| -/// |
6 |
| -/// We added fuzzing support to test its correctness. The fuzzers used to verify |
7 |
| -/// the current implementation can be found in https://github.com/lcnr/search_graph_fuzz. |
8 |
| -/// |
9 |
| -/// This is just a quick overview of the general design, please check out the relevant |
10 |
| -/// [rustc-dev-guide chapter](https://rustc-dev-guide.rust-lang.org/solve/caching.html) for |
11 |
| -/// more details. Caching is split between a global cache and the per-cycle `provisional_cache`. |
12 |
| -/// The global cache has to be completely unobservable, while the per-cycle cache may impact |
13 |
| -/// behavior as long as the resulting behavior is still correct. |
| 1 | +//! The search graph is responsible for caching and cycle detection in the trait |
| 2 | +//! solver. Making sure that caching doesn't result in soundness bugs or unstable |
| 3 | +//! query results is very challenging and makes this one of the most-involved |
| 4 | +//! self-contained components of the compiler. |
| 5 | +//! |
| 6 | +//! We added fuzzing support to test its correctness. The fuzzers used to verify |
| 7 | +//! the current implementation can be found in <https://github.com/lcnr/search_graph_fuzz>. |
| 8 | +//! |
| 9 | +//! This is just a quick overview of the general design, please check out the relevant |
| 10 | +//! [rustc-dev-guide chapter](https://rustc-dev-guide.rust-lang.org/solve/caching.html) for |
| 11 | +//! more details. Caching is split between a global cache and the per-cycle `provisional_cache`. |
| 12 | +//! The global cache has to be completely unobservable, while the per-cycle cache may impact |
| 13 | +//! behavior as long as the resulting behavior is still correct. |
14 | 14 | use std::cmp::Ordering;
|
15 | 15 | use std::collections::BTreeMap;
|
16 | 16 | use std::collections::hash_map::Entry;
|
|
0 commit comments