This crate provides a proc macro to generate "let bindings" automatically,
usually cloning values into an expression(usually a closure). Inspired by
crate enclose.
Syntax
bind!( ( comma_separated_list_of_var_bindings ) the_expr_that_uses_the_vars )
comma_separated_list_of_var_bindings is in the form of
var_binding, another var_binding, ....
var_binding is in the form of:
-
id, generatinglet id = id.clone(); -
mut id, generatinglet mut id = id.clone(); -
new_id = id, generatinglet new_id = id.clone(); -
mut new_id = id, generatinglet mut new_id = id.clone(); -
id = expr, generatinglet id = expr; -
mut id = expr, generatinglet mut id = expr; -
expr, generatinglet the_only_id_in_the_expr = expr;, e.g.bind!( (s.to_owned()) .. )generateslet s = s.to_owned(). -
mut expr, generatinglet mut the_only_id_in_the_expr = expr;e.g.bind!( (mut s.to_owned()) .. )generateslet mut s = s.to_owned().