#[macro_export]
macro_rules! write_interface {
() => {
#[cfg(not(target_family = "wasm"))]
#[unsafe(no_mangle)]
extern "C" fn rinf_start_rust_logic_extern() {
use rinf::debug_print;
let result = $crate::start_rust_logic(main);
if let Err(err) = result {
debug_print!("{}", err);
}
}
#[cfg(target_family = "wasm")]
#[wasm_bindgen::prelude::wasm_bindgen]
pub fn rinf_start_rust_logic_extern() {
use rinf::debug_print;
let result = $crate::start_rust_logic(main);
if let Err(err) = result {
debug_print!("{}", err);
}
}
};
}
#[macro_export]
macro_rules! debug_print {
( $( $t:tt )* ) => {
{
let rust_report = format!( $( $t )* );
#[cfg(debug_assertions)]
{
let result = $crate::send_rust_signal(
"RinfOut", Vec::new(),
rust_report.clone().into_bytes(),
);
if let Err(err) = result {
println!("{}\n{}", err, rust_report);
}
}
#[cfg(not(debug_assertions))]
let _ = rust_report;
}
}
}