From: 志宇 Date: Thu, 10 Sep 2026 11:03:38 +0000 (+0000) Subject: feat(core): derive `Debug` for `BlockQueries` X-Git-Tag: pre-fold-backup X-Git-Url: http://internal-gitweb-vhost/-script/src/example_cli/database/encode/struct.EncoderStringWriter.html?a=commitdiff_plain;h=bd7c962248d4a3a3f57fffc37ba28a77acaa1318;p=bdk feat(core): derive `Debug` for `BlockQueries` `BlockQueries` is half of `CanonicalTask::Output`, so without `Debug` the task's own output tuple isn't `Debug` — `dbg!(chain.run_task(task))` and `.unwrap()` on a `Result` in that position don't compile. Its neighbours `BlockCandidateResolution` and `Canonical` already derive it (Rust API guideline C-DEBUG). Covered by formatting the output tuple in the existing `CanonicalTask` test, so the derive can't be dropped without a test failing. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01NND8BhEmYTYdLRv4dbUUro --- diff --git a/crates/chain/src/canonical_task.rs b/crates/chain/src/canonical_task.rs index 46b99c3d..283188c5 100644 --- a/crates/chain/src/canonical_task.rs +++ b/crates/chain/src/canonical_task.rs @@ -512,7 +512,11 @@ mod tests { // Create canonicalization task and canonicalize using the two-step pipeline let params = CanonicalParams::default(); let task = CanonicalTask::new(&tx_graph, chain_tip, params); - let (txs, queries) = chain.run_task(task); + let output = chain.run_task(task); + // `CanonicalTask::Output` is `(CanonicalTxs, BlockQueries)`. Both halves must be + // `Debug` or callers cannot `dbg!()` it, or `.unwrap()` it out of a `Result`. + let _ = alloc::format!("{output:?}"); + let (txs, queries) = output; let view_task = txs.view_task(&tx_graph, queries); let canonical_view = chain.run_task(view_task); diff --git a/crates/core/src/block_queries.rs b/crates/core/src/block_queries.rs index 48d1a694..533f8b78 100644 --- a/crates/core/src/block_queries.rs +++ b/crates/core/src/block_queries.rs @@ -17,6 +17,7 @@ use alloc::vec::Vec; /// 2. Feed responses back via [`resolve`](Self::resolve). /// 3. Look up resolved blocks with [`get`](Self::get). /// 4. Check for outstanding requests with [`unresolved`](Self::unresolved). +#[derive(Debug)] pub struct BlockQueries { pending: BTreeSet, blocks: BTreeMap>,