2024-07-12 12:21:23 +00:00
|
|
|
//! This crate defines various `macro_rules` macros
|
|
|
|
//! used as part of Salsa's internal plumbing.
|
2024-07-13 15:41:19 +00:00
|
|
|
//! These macros are re-exported under `salsa::plumbing``.
|
|
|
|
//! The procedural macros emit calls to these
|
|
|
|
//! `macro_rules` macros after doing error checking.
|
2024-07-12 12:21:23 +00:00
|
|
|
//!
|
2024-07-13 15:41:19 +00:00
|
|
|
//! Using `macro_rules` macro definitions is generally
|
|
|
|
//! more ergonomic and also permits true hygiene for local variables
|
|
|
|
//! (sadly not items).
|
2024-07-12 12:21:23 +00:00
|
|
|
//!
|
2024-07-13 15:41:19 +00:00
|
|
|
//! Currently the only way to have a macro that is re-exported
|
|
|
|
//! from a submodule is to use multiple crates, hence the existence
|
|
|
|
//! of this crate.
|
2024-07-12 12:21:23 +00:00
|
|
|
|
2024-07-13 15:41:19 +00:00
|
|
|
mod setup_input;
|
2024-07-13 11:56:14 +00:00
|
|
|
mod setup_interned_fn;
|
|
|
|
mod setup_tracked_struct;
|
|
|
|
mod unexpected_cycle_recovery;
|
2024-07-12 12:21:23 +00:00
|
|
|
|
|
|
|
#[macro_export]
|
|
|
|
macro_rules! setup_fn {
|
|
|
|
() => {};
|
|
|
|
}
|