The way it is implemented currently try_force_from_dep_node returns true as long as there's a function to force the query. It wasn't this way from the beginning, earlier version was producing forcing result and it was changed in https://github.com/rust-lang/rust/pull/89978, I couldn't find any comments addressing this change. One way it can fail is by failing to recover the query in DepNodeParams::recover - when we are trying to query something that no longer exists in the current environment |
||
|---|---|---|
| .. | ||
| debug.rs | ||
| dep_node.rs | ||
| edges.rs | ||
| graph.rs | ||
| mod.rs | ||
| query.rs | ||
| README.md | ||
| serialized.rs | ||
To learn more about how dependency tracking works in rustc, see the [rustc guide].