diff options
| author | Matthias Krüger <476013+matthiaskrgr@users.noreply.github.com> | 2025-09-09 17:32:23 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-09 17:32:23 +0200 |
| commit | a40ec4c50a0a0475123675c3f4202eaf5cbedb77 (patch) | |
| tree | ae7fef67866d22f68eeac9a320c9180597606da1 | |
| parent | 542130f72968a1a10caa6ac534720e382f2c9d87 (diff) | |
| parent | 7c20f9c5888ff8ebe66997c2eca504a521d49dd8 (diff) | |
| download | rust-a40ec4c50a0a0475123675c3f4202eaf5cbedb77.tar.gz rust-a40ec4c50a0a0475123675c3f4202eaf5cbedb77.zip | |
Rollup merge of #146373 - calvinhirsch:trait-solver-cycle-head-docs, r=lcnr
fix comments about trait solver cycle heads update some comments that use "cycle root" rather than "cycle head" also fixed a random other nearby typo in `StackEntry` docs zulip thread: https://rust-lang.zulipchat.com/#narrow/channel/364551-t-types.2Ftrait-system-refactor/topic/quick.20question.20about.20SearchGraph.3A.3Aevaluate_goal_in_task/with/538004295 ?r lcnr
| -rw-r--r-- | compiler/rustc_type_ir/src/search_graph/mod.rs | 4 | ||||
| -rw-r--r-- | compiler/rustc_type_ir/src/search_graph/stack.rs | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/compiler/rustc_type_ir/src/search_graph/mod.rs b/compiler/rustc_type_ir/src/search_graph/mod.rs index dbbc0c217d7..8f8f019510f 100644 --- a/compiler/rustc_type_ir/src/search_graph/mod.rs +++ b/compiler/rustc_type_ir/src/search_graph/mod.rs @@ -1262,7 +1262,7 @@ impl<D: Delegate<Cx = X>, X: Cx> SearchGraph<D> { encountered_overflow |= stack_entry.encountered_overflow; debug_assert_eq!(stack_entry.input, input); - // If the current goal is not the root of a cycle, we are done. + // If the current goal is not a cycle head, we are done. // // There are no provisional cache entries which depend on this goal. let Some(usages) = stack_entry.usages else { @@ -1278,7 +1278,7 @@ impl<D: Delegate<Cx = X>, X: Cx> SearchGraph<D> { // // Check whether we reached a fixpoint, either because the final result // is equal to the provisional result of the previous iteration, or because - // this was only the root of either coinductive or inductive cycles, and the + // this was only the head of either coinductive or inductive cycles, and the // final result is equal to the initial response for that case. if self.reached_fixpoint(cx, &stack_entry, usages, result) { self.rebase_provisional_cache_entries(&stack_entry, |_, result| result); diff --git a/compiler/rustc_type_ir/src/search_graph/stack.rs b/compiler/rustc_type_ir/src/search_graph/stack.rs index 3fd8e2bd16e..8348666be41 100644 --- a/compiler/rustc_type_ir/src/search_graph/stack.rs +++ b/compiler/rustc_type_ir/src/search_graph/stack.rs @@ -13,7 +13,7 @@ rustc_index::newtype_index! { pub(super) struct StackDepth {} } -/// Stack entries of the evaluation stack. Its fields tend to be lazily +/// Stack entries of the evaluation stack. Its fields tend to be lazily updated /// when popping a child goal or completely immutable. #[derive_where(Debug; X: Cx)] pub(super) struct StackEntry<X: Cx> { @@ -42,7 +42,7 @@ pub(super) struct StackEntry<X: Cx> { /// Whether evaluating this goal encountered overflow. Lazily updated. pub encountered_overflow: bool, - /// Whether and how this goal has been used as the root of a cycle. Lazily updated. + /// Whether and how this goal has been used as a cycle head. Lazily updated. pub usages: Option<HeadUsages>, /// We want to be able to ignore head usages if they happen inside of candidates |
