Expand description
This crate defines various macro_rules macros
used as part of Salsa’s internal plumbing.
These macros are re-exported under salsa::plumbing``. The procedural macros emit calls to these macro_rules` macros after doing error checking.
Using macro_rules macro definitions is generally
more ergonomic and also permits true hygiene for local variables
(sadly not items).
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.
Macros§
- macro_
if - maybe_
backdate - Conditionally update field value and backdate revisions
- maybe_
clone - Generate either
field_ref_expror a clone of that expr. - maybe_
cloned_ ty - maybe_
default - Generate either
field_ref_exprorfield_ty::default - maybe_
default_ tt - setup_
accumulator_ impl - Macro for setting up a function that must intern its arguments.
- setup_
input_ struct - Macro for setting up a function that must intern its arguments.
- setup_
interned_ struct - Macro for setting up a function that must intern its arguments.
- setup_
method_ body - setup_
tracked_ fn - Macro for setting up a function that must intern its arguments.
- setup_
tracked_ struct - Macro for setting up a function that must intern its arguments.
- unexpected_
cycle_ recovery