Crates.io | inline-rust |
lib.rs | inline-rust |
version | 1.0.0 |
source | src |
created_at | 2021-11-22 21:43:47.953692 |
updated_at | 2021-11-22 21:43:47.953692 |
description | A stupid macro that compiles and executes Rust and spits the output directly into your Rust code |
homepage | |
repository | https://github.com/WilliamVenner/inline-rust |
max_upload_size | |
id | 485869 |
size | 12,118 |
This is a stupid macro inspired by inline-python
that compiles and executes Rust and spits the output directly into your Rust code.
There is a use case of using it to evaluate advanced "const" expressions, see the example below... if you dare.
[dependencies]
inline-rust = "*"
// Compiles using cargo
const CONST_HASH: &'static str = inline_rust!(
r#"
[dependencies]
sha2 = "0.9.8"
"#,
{
use sha2::Digest;
let mut sum: i32 = 0;
for n in 0..30 {
sum += n;
}
format!("\"{:x}\"", sha2::Sha256::digest(&sum.to_ne_bytes()))
}
);
// Compiles using rustc
const CONST_FOR_LOOP: i32 = inline_rust!({
let mut sum: i32 = 0;
for n in 0..30 {
sum += n;
}
format!("{}", sum)
});