Expand description
API surface tracking for oxirs-core.
Parses the public API surface from lib.rs using syn, compares against a
committed JSON baseline, and reports breaking changes. Only top-level pub
items (not pub(crate)) and non-#[doc(hidden)] items are included.
§Workflow
- Generate baseline (after an intentional API change):
cargo run -p oxirs-core --bin api_snapshot --quiet > core/oxirs-core/api_baseline.json - CI guard:
tests/api_stability.rsloads the baseline and asserts the current surface matches it — any removed or changed item fails the test.
Structs§
- ApiSurface
- The collected public API surface of a single Rust source file.
- FnSig
- A public free function in the API surface.
- Surface
Diff - The result of comparing two API surfaces.
- Trait
Sig - A public trait in the API surface.
- TypeSig
- A public struct, enum, or type alias in the API surface.
Enums§
- ApiSurface
Error - Errors that can arise during API surface operations.
Functions§
- diff_
surfaces - Compute the diff between a
baselinesurface and thecurrentsurface. - parse_
lib - Parse the public API surface from a Rust source file.