You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Our macro_rules! chapter covers macros by example, which is one flavour of macros.
We need a new chapter that covers procedural macros, which work at the AST level.
For some ideas check the #[quickcheck] attribute used by the quickcheck library, which expands into a test harness and a quickcheck call: #[test] + quickcheck(property). I think this is one of the simplest uses of procedural macros.
For more examples in the wild, the rustc --pretty expanded command can be used to reveal the magic behind the #[deriving(...)] attribute, which is also a procedural macro. This will show the expansion of the macro, but the definiton of these macros can be found under libsyntax/ext/deriving
The text was updated successfully, but these errors were encountered:
Given that procedural macros aren't going to be stable for a long time, while I agree this would be something to add, it isn't really relevant until then. Therefore, I'm giving this a close for now.
Our
macro_rules!
chapter covers macros by example, which is one flavour of macros.We need a new chapter that covers procedural macros, which work at the AST level.
For some ideas check the
#[quickcheck]
attribute used by the quickcheck library, which expands into a test harness and a quickcheck call:#[test]
+quickcheck(property)
. I think this is one of the simplest uses of procedural macros.For more examples in the wild, the
rustc --pretty expanded
command can be used to reveal the magic behind the#[deriving(...)]
attribute, which is also a procedural macro. This will show the expansion of the macro, but the definiton of these macros can be found underlibsyntax/ext/deriving
The text was updated successfully, but these errors were encountered: