pdftract/notes/bf-4mkhv.md
jedarden 1c6f26ecaa fix(bf-4mkhv): clean up unused imports in hash.rs
The bead description mentioned compile errors in hash.rs from API drift,
but those errors were either already fixed or misattributed. The API usage
was already correct:
- compute_fingerprint already takes 3 arguments with source
- len() already propagates Result with ?
- read_at method already used correctly
- Catalog fields accessed via trailer correctly

Only cleanup: removed unused std::fs::File and std::io imports.

Verification: notes/bf-4mkhv.md
2026-06-01 09:43:48 -04:00

1.6 KiB

Verification Note: bf-4mkhv - Fix pdftract-cli hash.rs API drift

Task Description

Fix six compile errors in crates/pdftract-cli/src/hash.rs from pdftract-core API changes.

Investigation

Upon inspection, the hash.rs file had no compile errors - only unused import warnings:

  • use std::fs::File; (line 12) - unused
  • use std::io::{self, Read}; (line 13) - unused

The specific API issues mentioned in the bead description were already correctly implemented:

  1. compute_fingerprint arity (line 123): Already takes 3 arguments with Some(&source as &dyn PdfSource)
  2. len Result (line 187): Already propagates with ? operator: let len = source.len()?;
  3. read_range vs read_at (line 192): Already uses correct method read_at
  4. Catalog fields (lines 254, 256): Code correctly accesses trailer dictionary, not catalog fields

Changes Made

Cleaned up unused imports in hash.rs:

  • Removed use std::fs::File;
  • Removed use std::io::{self, Read};

Verification

cargo check -p pdftract-cli --lib --bins
# Result: Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 37s
# Errors: 0
# Warnings: 204 (none in hash.rs)

hash.rs compiles cleanly with no errors or warnings.

Acceptance Criteria

  • cargo check -p pdftract-cli emits none of the hash.rs errors (no errors existed)
  • cargo check --workspace compiles cleanly (0 errors)
  • No logic changes — only cleaned up unused imports

Conclusion

The bead described compile errors that were either already fixed or were attributed to the wrong file. The hash.rs API usage was already correct. Only minor cleanup of unused imports was performed.