mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-27 18:57:42 +03:00
aa2efbc60a
Add a `TaggedQueryKey` to identify a query instance This adds back a `TaggedQueryKey` enum which represents a query kind and the associated key. This is used to replace `QueryStackDeferred` and `QueryStackFrameExtra` and the associated lifting operation for cycle errors This approach has a couple of benefits: - We only run description queries when printing the query stack trace in the panic handler - The unsafe code for `QueryStackDeferred` is removed - Cycle handles have access to query keys, which may be handy Some further work could be replacing `QueryStackFrame` with `TaggedQueryKey` as the extra information can be derived from it.