#![no_std]
#![doc(
html_logo_url = "https://aya-rs.dev/assets/images/crabby.svg",
html_favicon_url = "https://aya-rs.dev/assets/images/crabby.svg"
)]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![deny(missing_docs)]
#![cfg_attr(
any(feature = "std", test),
expect(unused_crate_dependencies, reason = "used in doctests")
)]
extern crate alloc;
#[cfg(feature = "std")]
extern crate std;
pub mod btf;
#[expect(
clippy::all,
clippy::as_pointer_underscore,
clippy::cast_lossless,
clippy::decimal_literal_representation,
clippy::missing_const_for_fn,
clippy::ptr_as_ptr,
clippy::pub_underscore_fields,
clippy::ref_as_ptr,
clippy::renamed_function_params,
clippy::semicolon_inside_block,
clippy::use_self,
clippy::used_underscore_binding,
missing_docs,
non_camel_case_types,
non_snake_case,
trivial_casts,
trivial_numeric_casts,
unreachable_pub,
unsafe_op_in_unsafe_fn,
unused_qualifications,
reason = "generated code"
)]
pub mod generated;
pub mod links;
pub mod maps;
pub mod obj;
pub mod programs;
pub mod relocation;
mod util;
pub use maps::Map;
pub use obj::*;
pub struct VerifierLog(alloc::string::String);
impl VerifierLog {
pub const fn new(log: alloc::string::String) -> Self {
Self(log)
}
}
impl core::fmt::Debug for VerifierLog {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
let Self(log) = self;
f.write_str(log)
}
}
impl core::fmt::Display for VerifierLog {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
<Self as core::fmt::Debug>::fmt(self, f)
}
}