const_unit_poc就像一个具有更好的错误消息的 uom!#![feature(const_generics, const_evaluatable_checked)]
use const_unit_poc::values::{m, kg, s, N};
let distance = 1.0 * m;
let mass = 18.0 * kg;
let force = distance * mass / (1.8 * s * 2.0 * s);
assert_eq!(force, 5.0 * N);
let mut mutable_distance = 3.2 * m;
mutable_distance -= 0.2 * m;
mutable_distance += 2.0 * m;
assert_eq!(mutable_distance, 5.0 * m);
const_unit_poc crate 链接,https://docs.rs/const_unit_poc/1.0.0/const_unit_poc/defmt-test进入 crates.io,是no_std测试工具,可以用于编写在微控制器上运行的单元测试。defmt v0.1.1 和 probe-run v0.1.5use lunatic::{Channel, Process};
fn main() {
let channel = Channel::new(0);
let vec: Vec<i32> = (0..1_000).collect();
for i in vec.iter() {
Process::spawn((*i, vec.clone(), channel.clone()), child).unwrap();
}
for _ in vec.iter() {
let (i, sum) = channel.receive();
println!("Sum until {}: {}", i, sum);
}
}
// Child process calculates the sum of numbers of context.1 until context.0 index.
fn child(context: (i32, Vec<i32>, Channel<(i32, i32)>)) {
let i = context.0;
let vec = context.1;
let channel = context.2;
let sum_until_i: i32 = vec[..=i as usize].iter().sum();
channel.send((i, sum_until_i));
}
介绍文章链接:https://rust-github.github.io/
原文作者:Rust语言中文社区;如有侵权,请联系管理员删除。