2 releases
0.1.1 | Jan 24, 2019 |
---|---|
0.1.0 | Jan 24, 2019 |
#6 in #with
33 downloads per month
Used in ani-tui
7KB
96 lines
The with
macro
This is a macro that takes an object and lets you call methods on that object without naming it.
The first argument is an expression that will be assigned to a variable in let binding. To make
that binding mutable, prepend mut
to the expression.
Calling a function that starts with a .
will be converted into a method call using this
variable.
The supported forms are:
.method(args..)
let pat = .method(args..);
var = .method(args..);
Anything else will be evaluated unmodified as an expression.
Usage
use with_macro::with;
let vec = with! {
mut Vec::new() =>
.push(1)
.push(42)
.push(-13)
let l = .len();
assert_eq!(l, 3);
};
assert_eq!(vec, [1, 42, -13]);