我想在 Rust 中创建一定范围内的数字切片。但是,以下语法似乎不起作用,因为输出是长度为 1 的切片,由对象组成Range。
let count = 10;
let slice = [0..count/2];
Run Code Online (Sandbox Code Playgroud)
从范围内创建 Rust 切片的正确方法是什么?
我有以下代码,我尝试在其中实现Rng自RngCore定义类型。
#[cfg(test)]
use rand::{Rng, RngCore};
pub const FP751_NUM_WORDS: usize = 12;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Fp751Element(pub (crate) [u64; FP751_NUM_WORDS]);
#[cfg(test)]
impl RngCore for Fp751Element {
fn next_u64(&mut self) -> u64 {
self.next_u64()
}
}
#[cfg(test)]
impl Rng for Fp751Element {
fn gen<Fp751Element>(&mut self) -> Fp751Element {
let high_limb = self.next_u64() % 246065832128056;
Fp751Element([
self.next_u64(),
self.next_u64(),
self.next_u64(),
self.next_u64(),
self.next_u64(),
self.next_u64(),
self.next_u64(),
self.next_u64(),
self.next_u64(),
self.next_u64(),
self.next_u64(),
high_limb
])
}
}
Run Code Online (Sandbox Code Playgroud)
我想实现这些特征,因为我稍后想将其quickcheck::Arbitrary与我的类型一起使用。但是,上面的类型代码在行中抛出以下错误impl Rng for Fp751Element …