|
ravel
Deterministic simulation testing for C++. Seed a bug, replay it exact.
|
include/ravel/ravel.h is the C ABI surface. Until 1.0.0, it can break between minor versions — every break must be called out in the release notes. From 1.0.0 on:
ravel_simulation is opaque on purpose, keep it that way rather than exposing a struct layout).Keep every ABI type opaque (ravel_simulation*, not a struct with public fields) specifically so internal layout can change without an ABI break — this is why ravel_simulation is a forward-declared pointer, not a struct the caller allocates.