[−][src]Crate with_macro
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.
Example
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]);
Macros
with | The |