syn
cargo-expand
syn | cargo-expand | |
---|---|---|
19 | 16 | |
2,675 | 2,435 | |
- | - | |
9.6 | 9.0 | |
3 days ago | 15 days ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
syn
- 对 RTIC 框架的探索
-
Launch HN: Diversion (YC S22) – Cloud-Native Git Alternative
[2] https://github.com/dtolnay/syn/issues/782
- syn v2.0.0 released
-
How to replicate inheritance (kinda) in Rust?
It looks to me like you are trying to make a syntax tree generic over arities. I suggest you take a look at the Expr enum in syn, its variant structs, and the ast_enum_of_structs_impl macro, which is a macro that implements a trait over different Expr variants with different fields.
-
Rust AST Explorer
Rust makes this project easy by providing the syn crate (parsing and formatting) and WASM (for interactivity). Source code lives at https://github.com/CarlKCarlK/rust-ast-explorer. Contributions welcome.
- Parser for Rust Source Code
-
Rust language parsers? Do you have any recommendations?
Perhaps there should, but if you look at the commit history you'll see that syn is maintained almost entirely by dtolnay (https://github.com/dtolnay/syn/graphs/contributors). Furthermore, with Rust continually adding new syntax that needs to be supported, syn can't be easy to maintain and most of the effort probably goes into making it work at all rather than optimisations.
- Syn - Parser for rust source code
- Syn – Parser for rust source code
cargo-expand
-
What is Rust doing behind the scenes?
It's been superseded by https://github.com/dtolnay/cargo-expand
-
Why dereferencing coercion is not used here?
Try installing cargo expand, it's useful to see how macros eventually get expanded. For example, if you run cargo expand on the following code
-
Procedural Macros are really hard to understand
You can use cargo expand to see what your code expands to: https://github.com/dtolnay/cargo-expand
-
[blog] Rust should own its debugger experience
Not too familiar with macros but does cargo-expand do what you want or did you mean something else?
-
Help me understand the borrowing and moving variable concept!
Yes. You can use Tools > Expand Macro on the playground or install and run cargo-expand to see what the macro expands to. It just adds a & before the argument.
- Advanced Metaprogramming in C: A select statement
-
How does declaring variables in macros work
cargo expand
-
How to see macro's source code in crate?
Along with what others are saying, there is also cargo expand which can show you what code a macro generates
-
How does Rust Python ffi work?
Something that may help you understand code with magic proc macros is this utility. It's basically a wrapper around a Rust compiler flag that allows you to expand macros for a file.
-
How does libtest know which functions are marked with #[test]?
You can use https://github.com/dtolnay/cargo-expand to examine how it works.
What are some alternatives?
rust-fsm - Finite state machine framework for Rust with readable specifications
saito-rust - A high-performance (reference) implementation of Saito in Rust
explaine.rs - An interactive Rust syntax playground
proc-macro-workshop - Learn to write Rust procedural macros [Rust Latam conference, Montevideo Uruguay, March 2019]
todo_by - Compile-time lifetimes for comments.
lol-html - Low output latency streaming HTML parser/rewriter with CSS selector-based API
rust - Empowering everyone to build reliable and efficient software.
watt - Runtime for executing procedural macros as WebAssembly
quote - Rust quasi-quoting
prae - prae is a crate that aims to provide a better way to define types that require validation.
cargo-llvm-cov - Cargo subcommand to easily use LLVM source-based code coverage (-C instrument-coverage).