rust 相关问题

Rust是一种用于以简单方式编写高度可靠和快速软件的语言。它可用于从高级代码到特定于硬件的代码,从大型熨斗到小型设备。

为什么实例化纳秒不安全?

我正在 core::time 中漫步,并对纳秒的实现感到惊讶。 为什么实例化它需要一个不安全的块? 我理解有关范围限制的评论...

回答 1 投票 0

为什么从引用切换到 RefCell 会导致借用检查器失败?

Rust (1.78.0) 成功编译以下代码: struct Foo<'a>(&'a mut usize); impl<'a> Foo<'a> { pub fn func(&self, _s: &'a mut String) -> &'a str ...

回答 1 投票 0

通过切片澄清所有权

在 Rust 书中,他们给出了以下示例 fn 主() { 让 mut s = String::from("hello world"); 让单词=first_word(&s); s.clear(); println!(“第一个...

回答 1 投票 0

将 rust 跟踪库与 daemonize 结合使用

我想将跟踪库与 deamonize 一起使用。 考虑下面的例子 使用跟踪::信息; 使用tracing_subscriber::layer::SubscriberExt; 使用跟踪订阅者::{fmt,注册...

回答 1 投票 0

如何使用缓存和工件加速 Gitlab CI 作业

我希望我的 Rust 项目的 GitLab 测试作业能够运行得更快。 在本地,它重建得相当快,但在 GitLab 作业中,每个构建都像第一个构建一样运行缓慢。 正在寻找一种使用 artifac 的方法...

回答 1 投票 0

Mockall 调用输入 FnMut 参数

我有这样的特质: #[cfg_attr(测试,自动模拟)] 特质 Foo { #[cfg_attr(测试,具体化)] fn for_each(&self, 处理器: F) 在哪里 自我:尺寸, F:FnMut...

回答 1 投票 0

使用“CreateProcessW”或“ShellExecuteExW”复制 Windows 运行行为?

Windows 运行对话框 (Win+R) 用于从用户输入的字符串启动任意程序。它的酷之处在于它可以处理程序路径中的空格而无需任何转义。 所以对于e...

回答 1 投票 0

如何在 Rust 中删除字符串的第一个和最后一个字符?

我想知道如何删除 Rust 中字符串的第一个和最后一个字符。 例子: 输入: “你好世界” 输出: “你的世界”

回答 5 投票 0

有没有一种好的方法可以从 Arc<String> 转换/转变为 Arc<Vec<u8>>

String 和 Vec 具有相同的内存布局,尽管不能保证这一点。 String 还有一个 into_bytes 方法返回 Vec。 有没有一种从 Arc 转换的好方法<

回答 1 投票 0

在 Rust 宏中定位独立的命名参数

背景 我有一个箱子 https://crates.io/crates/magic_migrate 提供了 TryMigrate 特征。我正在编写一个宏,允许某人通过提供错误和 &

回答 1 投票 0

如何从 RefCell 返回具有生命周期的引用?

例如,我有以下结构: 结构体 MyStruct { 项目:RefCell>, } 实现 MyStruct { fn new() -> 自身 { 自己 { 项目: 重新...

回答 1 投票 0

为 VecData 实现 IntoIter 和 Iterator 特征<T>(Rc<RefCell<Rc<Vec<T>>>>)

我有一个相对复杂的数据结构(由于我不想在这里讨论的原因)。 它被定义为 pub struct VecData(Rc>>>); 我看起来是什么...

回答 1 投票 0

如何包装一个C指针?使用 *mut T、Nonnull<T> 或 Unique<T>?

我正在调用一个分配内存并返回一个指针的 C 构造函数。 我发现了一些类似的问题。 他们使用 Nonnull 或 *mut T 来包装它。 而且我还发现了另一个类似的结构Uni...

回答 1 投票 0

仅包含枚举字段的消息的编码长度为 0

我正在尝试序列化数据,该数据由以下 protobuf 文件指定: 语法=“proto3”; 包efficient_servers.protobuf; 消息请求{ 其中一个消息 { 步行步行 = 1...

回答 1 投票 0

如何使用 rust 读取 neovim 的标准输入?

我对 Rust 还很陌生,我想我可以在这里得到一些帮助。 我正在尝试遵循 TJ DeVries 制作 LSP 的指南,他正在用 Go 进行编码,但我正在尝试遵循 Rust。我是...

回答 1 投票 0

Dockerfile + Protoc 在 Windows 上安装

实现: 我已在 Windows 上使用二进制文件成功安装了协议 通过在环境变量中使用以下路径, C:\Program Files\protoc-26.1-win64 中 失败的: 但是,我是你...

回答 1 投票 0

为什么将闭包传递给接受函数指针的函数不起作用?

在《The Rust 编程语言》第二版中(重点是我的): 函数指针实现了所有三个闭包特征(Fn、FnMut 和 FnOnce),因此您始终可以传递函数 poi...

回答 2 投票 0

为 dyn Fn() 成员实现调试

我有一个结构体,其中一个成员是 dyn Fn()。 #[导出(调试)] 结构体C { 调用: dyn Fn() } fn 主() { } 当我尝试在结构上使用 #[derive(Debug)] 时,出现以下错误: 3 |...

回答 1 投票 0

我可以用借来的元素来改变向量吗?

我正在尝试存储对可变向量元素的引用以供稍后使用。但是,一旦我改变了向量,我就无法再使用存储的引用。我明白这是因为

回答 3 投票 0

如何返回Rc的内容?

我正在尝试从 Rc 返回移动的值: if let Some(last_elem) = self.tail.take() { 让最后= Rc::clone(&last_elem); 让 tmp_node = last.borrow(); 让 tmp = tmp_node.deref(...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.