#![cfg_attr(not(test), deny(clippy::panic))]
#![cfg_attr(not(test), deny(clippy::unwrap_used))]
#![cfg_attr(not(test), deny(clippy::expect_used))]
#![cfg_attr(not(test), deny(clippy::todo))]
#![cfg_attr(not(test), deny(clippy::unimplemented))]
extern crate alloc;
#[cfg(all(unix, feature = "collector"))]
mod collector;
#[cfg(all(windows, feature = "collector_windows"))]
mod collector_windows;
#[cfg(unix)]
mod common;
mod crash_info;
#[cfg(all(unix, feature = "receiver"))]
mod receiver;
mod runtime_callback;
#[cfg(all(unix, any(feature = "collector", feature = "receiver")))]
#[cfg(not(feature = "benchmarking"))]
mod shared;
#[cfg(all(unix, any(feature = "collector", feature = "receiver")))]
#[cfg(feature = "benchmarking")]
pub mod shared;
#[cfg(all(unix, feature = "collector"))]
pub use collector::{
begin_op, clear_additional_tags, clear_spans, clear_traces, consume_and_emit_additional_tags,
default_signals, disable, enable, end_op, get_expected_receiver_pid, init,
insert_additional_tag, insert_span, insert_trace, on_fork, reconfigure, remove_additional_tag,
remove_span, remove_trace, report_unhandled_exception, reset_counters,
set_expected_receiver_pid, update_config, update_metadata, OpTypes, DEFAULT_SYMBOLS,
};
#[cfg(all(windows, feature = "collector_windows"))]
pub use collector_windows::api::{exception_event_callback, init_crashtracking_windows};
pub use crash_info::*;
pub use runtime_callback::*;
#[cfg(all(unix, feature = "receiver"))]
pub use receiver::{
async_receiver_entry_point_stream, async_receiver_entry_point_unix_listener,
async_receiver_entry_point_unix_socket, get_receiver_unix_socket, receiver_entry_point_stdin,
receiver_entry_point_unix_socket,
};
#[cfg(all(unix, any(feature = "collector", feature = "receiver")))]
pub use shared::configuration::{
default_max_threads, CrashtrackerConfiguration, CrashtrackerConfigurationBuilder,
CrashtrackerReceiverConfig, StacktraceCollection,
};
#[cfg(all(unix, feature = "benchmarking"))]
pub use receiver::benchmark;
#[cfg(unix)]
pub use common::{get_tests_folder_path, SharedLibrary};