123 Repositories
Rust procedural-macro Libraries
A fully-featured lexer generator, implement as a proc macro
lexgen: A fully-featured lexer generator, implemented as a proc macro lexer! { // First line specifies name of the lexer and the token type return
todo-or-die provides procedural macros that act as checked reminders.
todo-or-die provides procedural macros that act as checked reminders.
atttribute macro for running a flaky test multiple times
flaky_test This attribute macro will register and run a test 3 times, erroring only if all three times fail. Useful for situations when a test is flak
Obake is a procedural macro for declaring and maintaining versioned data-structures.
Obake is a procedural macro for declaring and maintaining versioned data-structures. The name 'obake' is taken from the Japanese 'お化け (おばけ)', a class of supernatural beings in Japanese folklore that shapeshift.
zero runtime cost default arguments in rust
Default Arguments in Rust Enables default arguments in rust by macro in zero cost. Just wrap function with default_args! and macro with name of functi
The nightly_crimes!{} macro commits horrible crimes to allow you to enable nightly features on the stable compiler.
The nightly_crimes!{} macro commits horrible crimes to allow you to enable nightly features on the stable compiler.
This crate provides a convenient macro that allows you to generate type wrappers that promise to always uphold arbitrary invariants that you specified.
prae This crate provides a convenient macro that allows you to generate type wrappers that promise to always uphold arbitrary invariants that you spec
concat-arrays: a rust macro for concatenating fixed-size arrays
concat-arrays: a rust macro for concatenating fixed-size arrays This crate defines concat_arrays!, a macro that allows you to concatenate arrays.
A copypastable guide to implementing simple derive macros in Rust.
A copypastable guide to implementing simple derive macros in Rust. The goal Let's say we have a trait with a getter trait MyTrait {
Parsing and inspecting Rust literals (particularly useful for proc macros)
litrs: parsing and inspecting Rust literals litrs offers functionality to parse Rust literals, i.e. tokens in the Rust programming language that repre
A Rust macro for writing nested loop expressions
loop_chain A Rust macro for writing nested loop expressions Usage | Examples | Docs Dependencies [dependencies] loop_chain = "0.1.1" Usage For express
An LR parser generator, implemented as a proc macro
parsegen parsegen is an LR parser generator, similar to happy, ocamlyacc, and lalrpop. It currently generates canonical LR(1) parsers, but LALR(1) and
Safe Rust --- GraalVM Polyglot bindings using procedural macros
The class macro is the primary way to generate bindings to Java types; it will generate a struct (with generics if specified) that implements Pass and Receive and has all the methods you give stubs for. The methods generated can be used like normal rust methods, however mutability is not enforced. The fully-qualified type name should precede a block containing method and constructor stubs. Java primitives like char, int, and byte are aliased to corresponding Rust types.
PostgreSQL procedural language handler for Clojure via SCI
pl/sci Status This is very much an experiment and I'm open to feedback on where to take this next. Build Requirements lein GraalVM CE 20.3.0 Java 11 c
A Rust macro for writing regex pattern matching.
regexm A Rust macro for writing regex pattern matching.
proc-macro for accessing struct field names at runtime
field_names field_names is a Rust crate to expose a field or variant names from source code as strings at runtime. Example Consider a simple struct su
Rust Macro which loads files into the rust binary at compile time during release and loads the file from the fs during dev.
Rust Embed Rust Custom Derive Macro which loads files into the rust binary at compile time during release and loads the file from the fs during dev. Y
A macro-based html builder for rust
Horrorshow A macro-based html templating library, compatible with stable rust (currently requires rust = 1.37). Features This crate will degrade grac
:pencil: Compile-time HTML templates for Rust
maud Documentation (source) • API reference • Change log Maud is an HTML template engine for Rust. It's implemented as a macro, html!, which compiles
hado-rshado — A little macro for writing haskell-like do expressions without too much ceremony
hado Monadic haskell-like expressions brought to rust via the hado! macro What? A little macro for writing haskell-like do expressions without too muc
Macro for Python-esque comprehensions in Rust
Cute Macro for Python-esque list comprehensions in Rust. The c! macro implements list and hashmap comprehensions similar to those found in Python, all
Subcommand to show result of macro expansion
cargo-expand Once installed, the following command prints out the result of macro expansion and #[derive] expansion applied to the current crate. $ ca
Procedural engine sound generator controlled via GUI or CLI
enginesound GUI Application used to generate purely synthetic engine sounds with advanced options written in Rust loosely based on this paper Reading