salsa/components/salsa-macro-rules/src/lib.rs

26 lines
814 B
Rust
Raw Normal View History

//! 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-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-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-17 10:41:56 +00:00
mod macro_if;
2024-07-14 17:36:30 +00:00
mod maybe_backdate;
mod maybe_clone;
mod maybe_default;
2024-07-16 00:29:36 +00:00
mod setup_accumulator_impl;
2024-07-15 11:46:23 +00:00
mod setup_input_struct;
mod setup_interned_struct;
2024-07-18 09:59:43 +00:00
mod setup_method_body;
2024-07-18 11:50:22 +00:00
mod setup_tracked_fn;
2024-07-13 11:56:14 +00:00
mod setup_tracked_struct;
mod unexpected_cycle_recovery;