Skip to main content

Module api_surface

Module api_surface 

Source
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

  1. Generate baseline (after an intentional API change):
    cargo run -p oxirs-core --bin api_snapshot --quiet > core/oxirs-core/api_baseline.json
  2. CI guard: tests/api_stability.rs loads 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.
SurfaceDiff
The result of comparing two API surfaces.
TraitSig
A public trait in the API surface.
TypeSig
A public struct, enum, or type alias in the API surface.

Enums§

ApiSurfaceError
Errors that can arise during API surface operations.

Functions§

diff_surfaces
Compute the diff between a baseline surface and the current surface.
parse_lib
Parse the public API surface from a Rust source file.