rust相关内容

如果不是每晚使用,如何忽略基准?

我有一个文件与一些基准和测试,并希望测试稳定,测试版和夜间。然而,我要么不使用基准测试,要么抱怨稳定/测试版。有没有办法在使用稳定/测试版时隐藏所有基准部件? 以下代码来自book: #![feature(test)] extern crate test; pub fn add_two(a: i32) -> i32 { a + 2 } #[cfg(test)] mod t ..
发布时间:2022-04-20 14:32:53 其他开发

铁锈:无限循环中的借用检查器

我目前正在构建一个带有主循环的应用程序。设置作为引用添加到结构中以避免装箱。问题是,即使它看起来完全有效,借用检查器也不会验证无限循环。例如,以下代码不能编译: struct Demo { data: Vec, } impl Demo { fn new(data: Vec) -> Self { Demo ..
发布时间:2022-04-20 09:47:35 其他开发

`FuturesUnordered`不满足`Stream`?

我想实现一个基于FuturesUnordered的Stream,它同样被认为是计算返回类型为Result的async函数,尽管为了简单起见,让我们假设它只是一个Result。由于async fns最终返回Futures,我假定必须以以下方式定义我的结构: use anyhow::Result; use futures::{Future, Stream, stre ..
发布时间:2022-04-17 22:36:52 其他开发

无法使用Ctrl-C组合键停止我的Docker容器

我在Windows 10上使用的是WSL2,使用的是Ubuntu映像,而Docker for Desktop Windows(2.2.2.0)使用的是WSL集成。 我有一台Rust TCP服务器。当我使用cargo run(或cargo install后的二进制文件)运行它时,它会正确地运行,并且我可以向它发送Ctrl-C来终止它。我不在代码中进行任何显式信号处理。 我把它变成了Doc ..
发布时间:2022-04-17 18:40:55 其他开发

编译包含用于aarch64的C库的铁锈箱时出现问题

我正在尝试在aarch64 Linux docker容器中编译一个rust应用程序,以便在raspberry pi 4上运行。除了包不是纯粹的rust并使用c库之外,我还有其他工作要做。ring crate就是这样的一个例子,当我尝试在不设置ENV TARGET_CC=something的情况下构建环库时,它失败了,错误如下: #18 32.35 Compiling ring v0.1 ..
发布时间:2022-04-10 13:39:36 其他开发

如何查询主机三元组的rustc?

和GCC合作时,我可以通过运行gcc -dumpmachine得到GCC认为是我主人的三胞胎。在我当前的系统上,这为我提供了x86_64-linux-gnu。 我如何才能稳定地rustc打印我的主机三倍?(在这种情况下x86_64-unknown-linux-gnu) rustc的文档似乎除了--print和--version之外没有任何相关内容。这两个似乎都没有生成主机目标三元组。 ..
发布时间:2022-04-10 13:27:54 其他开发

如何为Rust中的不同线程克隆随机数生成器?

我正在开发一个基于C++代码库的光线跟踪器的Rust实现(如果有人熟悉它的话)。C++版本定义的类之一是一系列采样器,以减少渲染图像中的噪波。在渲染过程中,每当需要随机数时,此采样器都会克隆到每个渲染线程中。这就是我选择在Rust中做这件事的方式,我承认这有点复杂: #[derive(Clone)] pub struct PixelSampler { samples_1d: Vec ..
发布时间:2022-04-08 20:46:09 其他开发

克隆Arc时会发生什么情况?

我正在学习并发性,想澄清一下我对以下code example from the Rust book的理解。如果我说错了,请纠正我。 use std::sync::{Arc, Mutex}; use std::thread; use std::time::Duration; fn main() { let data = Arc::new(Mutex::new(vec![1, 2, 3 ..
发布时间:2022-04-08 20:25:18 其他开发

GitHub操作无法连接到MongoDB服务

我在使用GitHub操作运行自动测试时遇到问题。我不明白为什么我不能连接运行我的集成测试的MongoDB服务。我尝试了不同的主机:本地主机、127.0.0.1、0.0.0.0,但它们都无法连接到数据库。 它在我的坞站设置中工作得非常好,但由于某种原因,它在GitHub操作中不起作用。 name: CI master on: [push, pull_reques ..
发布时间:2022-04-07 10:21:07 其他开发

如何在我的Rust Tonic服务中获得用于身份验证的客户证书?

在我的Rust Tonic设置中,我已在客户端和服务器之间配置了mTLS(相互TLS)身份验证。 现在,我想使用客户端证书中存储的数据 A)授权访问(拦截器) B)用于提供服务(即我想查看Hello PetrPetr是否正在连接) 我找不到任何关于这方面的例子,遍历Tonic源代码对我也没有帮助。 推荐答案 在不和谐频道tokio/tonic询问后得到了解决方案(谢谢Lucio ..
发布时间:2022-04-03 12:25:31 其他开发

如何将索尔与索拉纳生锈合同一起发送

我是一名noob Rust/Solana开发人员,我觉得我遇到了一个对大多数新手有帮助的问题。 我想知道如何在指令期间将SOL从帐户转移到程序,然后能够将SOL发送回调用指令的帐户。 我已阅读https://docs.solana.com/,但找不到有关通过程序进行SOL传输的任何内容。 示例: Acc1调用Program1中的Gamble指令,该指令从调用者传输1个SOL ..
发布时间:2022-03-30 16:46:54 其他开发

我不明白切片和引用之间的区别

我不明白切片和引用之间的区别。&String和&str有什么区别?我在网上读到一些东西,上面说引用是细指针,切片是胖指针,但我不知道,似乎也找不到这两个是什么意思。我知道切片可以强制成为引用,但它是如何做到这一点的呢?Deref特征是什么? 推荐答案 在Rust语言中,切片是长度不同的同质类型数据的连续挡路。 这是什么意思? [u8]是切片。在内存中,这是u8s的挡路。切片 ..
发布时间:2022-03-26 22:40:26 其他开发

我只能控制由Max7219供电的四个8x8 led矩阵中的第一个

我有4个8x8 LED矩阵,它们是串行连接的,我使用SPI协议与通信。 并且在重写几个库(python implementation、rust implementation、c implementation)之后, 因为它不能在我的系统上工作,并且我的代码至少能工作一点,所以我只能控制四个连接的显示器中的第一个。 以下是我的代码,用于在第一个显示器上显示类似目标的图像: 矩阵对象: ..
发布时间:2022-03-24 23:14:20 其他开发

如何使用自定义LLC编译Rust程序?

我有一个自定义LLVM后端,并希望为该自定义(Nostd)目标交叉编译Rust。我想分两步编译Rust程序: 使用rustc生成LLVM IR。 使用我自己的opt和llc将LLVM IR转换为机器码。 我尝试使用cargo rustc -- --emit=llvm-ir。我获取.ll个文件,然后使用llc获取.o个文件。 然后,我以同样的方式交叉编译libcore。当我尝试将所有对 ..
发布时间:2022-03-21 22:36:30 其他开发