hax_types/lib.rs
#![cfg_attr(feature = "rustc", feature(rustc_private))]
//! This crate contains the type definitions that are used to communicate between:
//! - the command line (the `cargo-hax` binary);
//! - the custom rustc driver;
//! - the hax engine (the `hax-engine` binary).
//!
//! Those three component send and receive messages in JSON or CBOR on
//! stdin and stdout.
pub(crate) mod prelude;
/// The CLI options for `cargo-hax`. The types defines in this module
/// are also used by the driver and the engine.
pub mod cli_options;
/// Type to represent errors, mainly in `hax-engine`. The engine
/// doesn't do any reporting itself: it only sends JSON to its stdout,
/// and `cargo-hax` takes care of reporting everything in a rustc
/// style.
pub mod diagnostics;
/// The types used to communicate between `cargo-hax` and the custom
/// driver.
pub mod driver_api;
/// The types used to communicate between `cargo-hax` and
/// `hax-engine`.
pub mod engine_api;
/// Compile-time version of hax
pub const HAX_VERSION: &str = env!("HAX_VERSION");