Cairo Procedural Macros

Explain Cairo procedural macros implemented in Rust (inline/attribute/derive), project setup, and TokenStream/ProcMacroResult; use when a request involves writing or using procedural macros in Cairo.

teddyjfpender Updated

File contents

Cairo Procedural Macros

Overview

Guide how to create and use procedural macros implemented in Rust for Cairo.

Quick Use

  • Read references/procedural-macros.md before answering.
  • Explain the three macro kinds: inline, attribute, derive.
  • Call out required Cargo + Scarb setup for macro crates.

Response Checklist

  • Use TokenStream input and ProcMacroResult output.
  • Mark functions with #[inline_macro], #[attribute_macro], or #[derive_macro].
  • Configure Cargo.toml with crate-type = ["cdylib"] and cairo-lang-macro deps.
  • Add [cairo-plugin] in Scarb.toml.

Example Requests

  • "How do I create a procedural macro for Cairo?"
  • "What are inline vs attribute vs derive macros?"
  • "Why do I need a Cargo.toml for Cairo macros?"

teddyjfpender/skill-issues/tree/main/skills/cairo-procedural-macros commit ae16bc06c1

Frequently asked questions

npx skillmds@latest add teddyjfpender/cairo-procedural-macros