Fix clippy warnings and add Gitea CI pipeline

Clippy fixes:
- clawhdf5-onion/reader.rs: introduce RawPage type alias to resolve
  type_complexity lint on revision_pages_raw return type
- clawsync-onion/iblt.rs: remove stray #[forbid(unsafe_code)] module
  attribute (crate-level forbid already in lib.rs; the module attr was
  useless and triggered the empty-line-after-attribute lint)
- clawsync-onion/differ.rs: replace ok_or_else(|| …) with ok_or(…)
  for non-lazily-constructed error values
- clawsync-cli/main.rs: accept &Path instead of &PathBuf in
  handle_hdf5_client to avoid unnecessary indirection

CI (.gitea/workflows/ci.yml):
- test job: cargo test --workspace (default + simd-cdc)
- lint job: cargo clippy -D warnings + cargo fmt --check
- msrv job: build + test on Rust 1.85 (workspace rust-version)
- publish-dry-run job: cargo publish --dry-run for clawsync-core

All 573 tests still passing after fixes.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
This commit is contained in:
osobh
2026-04-04 18:59:34 -05:00
co-authored by Claude Sonnet 4.6
parent 260e15f5b6
commit 2e423d2682
5 changed files with 141 additions and 8 deletions
+4 -4
View File
@@ -96,7 +96,7 @@ pub fn packets_for_revisions(
let summary = summaries
.iter()
.find(|s| s.revision == rev)
.ok_or_else(|| SyncOnionError::Onion(
.ok_or(SyncOnionError::Onion(
clawhdf5_onion::OnionError::RevisionNotFound(rev),
))?;
@@ -191,9 +191,9 @@ pub fn diff_revisions_merkle(
.list_revisions()
.into_iter()
.find(|s| s.revision == rev)
.ok_or_else(|| {
SyncOnionError::Onion(clawhdf5_onion::OnionError::RevisionNotFound(rev))
})?;
.ok_or(SyncOnionError::Onion(
clawhdf5_onion::OnionError::RevisionNotFound(rev),
))?;
let raw_pages = local.revision_pages_raw(rev)?;
let pages: Vec<OnionPage> = raw_pages
-2
View File
@@ -29,8 +29,6 @@
//!
//! arXiv 2402.02668, 2504.08314 — rateless IBLTs for set reconciliation.
#[forbid(unsafe_code)]
use xxhash_rust::xxh3::xxh3_64;
// ─────────────────────────────────────────────────────────────────────────────