Crates.io | prog1 |
lib.rs | prog1 |
version | 1.0.0 |
source | src |
created_at | 2016-05-06 19:46:08.027023 |
updated_at | 2016-05-06 19:46:08.027023 |
description | Execute a block after computing a result. |
homepage | |
repository | https://github.com/fiveop/rust-prog1 |
max_upload_size | |
id | 4989 |
size | 14,178 |
Execute a block after computing a result.
This crate provides the macro prog1
, an implementation of the homonymous
Common Lisp macro.
It allows to compute a result, before executing a block that changes values used to compute the result.
#[macro_use]
extern crate prog1;
fn main() {
let mut a = 0;
assert_eq!(prog1!(a; { a += 1 }), 0);
assert_eq!(a, 1);
}
Copyright 2016 Philipp Matthias Schaefer philipp.matthias.schaefer@posteo.de
Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. This file may not be copied, modified, or distributed except according to those terms.