惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Secure Thoughts
Recent Commits to openclaw:main
Recent Commits to openclaw:main
H
Heimdal Security Blog
SecWiki News
SecWiki News
H
Hacker News: Front Page
N
News | PayPal Newsroom
L
LINUX DO - 最新话题
N
News and Events Feed by Topic
TaoSecurity Blog
TaoSecurity Blog
AI
AI
C
Cybersecurity and Infrastructure Security Agency CISA
Scott Helme
Scott Helme
PCI Perspectives
PCI Perspectives
S
Securelist
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Cyberwarzone
Cyberwarzone
A
Arctic Wolf
Forbes - Security
Forbes - Security
T
Tor Project blog
Spread Privacy
Spread Privacy
WordPress大学
WordPress大学
I
Intezer
Martin Fowler
Martin Fowler
Help Net Security
Help Net Security
P
Proofpoint News Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Cisco Talos Blog
Cisco Talos Blog
Latest news
Latest news
博客园 - 司徒正美
W
WeLiveSecurity
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
V2EX
P
Palo Alto Networks Blog
Google DeepMind News
Google DeepMind News
IT之家
IT之家
阮一峰的网络日志
阮一峰的网络日志
V
Vulnerabilities – Threatpost
Jina AI
Jina AI
S
Security Affairs
Hacker News - Newest:
Hacker News - Newest: "LLM"
Simon Willison's Weblog
Simon Willison's Weblog
Project Zero
Project Zero
T
Threatpost
P
Privacy International News Feed
人人都是产品经理
人人都是产品经理
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - Franky
Hugging Face - Blog
Hugging Face - Blog
Apple Machine Learning Research
Apple Machine Learning Research

Rust

RustScript: 给你的 Rust 项目带来脚本化功能 - V2EX RUST 语法极其丑陋 - V2EX 一款跑在终端里的本地优先密码管理器,用全屏 TUI 管理账号、密钥和安全笔记。 - V2EX 如何理解 rust 闭包的借用值机制? 被借用的值在闭包内到底是什么类型? [开源] Best of RS - 一个由 Rust 编写的追踪 Rust 开源趋势的全栈 web 项目 - V2EX Rust 真是非常适合 AI vibe coding 的语言 - V2EX Pumpkin - 使用 Rust 开发的高性能 Minecraft 服务端 - V2EX 开源这两天 Vibe 的 Rust 重写的 OpenClaw - V2EX 用 rust 写了一个非常简单的局域网文本同步的小玩意 - V2EX [寻求帮助 Linux ] 用 rust 写了一个跨平台输入监听库(鼠标键盘) - V2EX Contributions to Rust and LLVM in 2025 - V2EX Linux 内核中的 rust - V2EX 2025 年度 Rust 语言社区调查 已经发布 - V2EX rust 让我抓狂、擦汗 - V2EX 推荐一款我写的动态配置语言: Faml - V2EX 如何看待 Rust? - V2EX Rust Web 开发脚手架 v0.6 发布啦! - V2EX rathole 这个项目是不维护了吗? 之前那个 rust 贡献大佬找到工作了,找他的团队还不少 - V2EX 太快了! Rust 太快了! - V2EX 介绍一个 like rails 的 rust 框架。 性能和开发速度都快。 - V2EX 除了写小工具外再也不想用 Rust 了 - V2EX rust 我想你了 - V2EX rust 程序员的硬盘是多大的? nodejs 继任者? - V2EX rust 练手写的,仿 uv 包管理器 av - V2EX Rust 的安全神话?为何在关键系统如数据库、大模型代码中仍选 C++ rust 实现的抓包存盘的程序 nsave 有人使用 Rust 重构过旧项目吗? - V2EX 使用 WebAssembly 构建的高性能在线计算工具 V2EX tikio 里面的代码怎么调试呢 有人在用 rust 写 web api 吗? rust 来得快去得也快 - V2EX rust 的有没有什么好的论坛? - V2EX 这里搞 Rust 的多吗? - V2EX 目前 Rust 最好的开发工具是哪个? - V2EX rust 编译报错函数重复定义 - V2EX Rust 学习几个月之后,真正要自己写的时候就懵逼 - V2EX 关于 rust axum 中使用 gprc 的一个疑惑 - V2EX std::net::UdpSocket 的 shutdown 机制是我理解出了问题么? - V2EX 写了一个从 modelscope 下载模型的 crate - V2EX 看到这样的 rust 代码要懵逼了,不知道咋入手,求指导 - V2EX Rust 两次入门后,尝试写一个 web 项目,懵逼中~ - V2EX 求帮打包个 exe - V2EX Rust HTTP Client, Golang tls-client/utls 的完美替代品 - V2EX Rust 编写的高性能 HTTP/HTTPS/SOCKS5 代理服务器 - V2EX Rust API 开发脚手架 - V2EX 大佬们,一人来一道 Rust 面试题,准备年后跳槽 - V2EX 请教 rust 如何做到交叉编译 - V2EX 理了一下手上惯用的一些命令行小工具,发现蛮多是 rust 写的。是不是 rust 也适合做这种小工具 - V2EX rust 怎么不通过管理员权限的情况下拿到 windows 用户所有的 uwp 应用名称,图标和路径 - V2EX 统计下放弃 RUST 的人的数量=== - V2EX 关于 Rust 所有权,如果对 mut 变量进行嵌套 mut 引用该怎么理解?
FnOne 特征是至少调用一次还是只能调用一次? - V2EX
tedzhou1221 · 2025-01-24 · via Rust

这是一个创建于 506 天前的主题,其中的信息可能已经有所发展或是发生改变。

在看 B 站上的教程,看到关于 move 和 闭包的东西。 地址是 https://b23.tv/dXol75P

其实中说 FnOne 是至少调用一次。

还有 Rust 圣经中也同样这么说。 内容如下:

所有的闭包都自动实现了 FnOnce 特征,因此任何一个闭包都至少可以被调用一次

但 Kimi 的解释是:

FnOnce 的设计目标是确保闭包在调用时可以安全地消耗变量的所有权,而不是强制要求闭包必须被调用。换句话说:

“只能调用一次”:闭包被设计为只能调用一次,以避免多次调用导致的错误。
“至少调用一次”:这不是 FnOnce 的要求。闭包可以选择不被调用,但一旦调用,就不能再次调用。

大致意思就是“只能调用一次”

我的理解也是只能调用一次。

ps: 前几天看到有个推荐 Rust 教程的页面,说《 Rust 语言圣经》错误太多。我现在找不到出处了。请问有哪些是错误的?

PTLin

1

PTLin      2025 年 1 月 25 日

调用 FnOnce 闭包其实展开是这样
```rust
#![feature(impl_trait_in_bindings)]
#![feature(fn_traits)]
use std::ops::FnOnce;
fn main(){
let a:impl FnOnce()=||{};
a.call_once(());
}
```
call_once(self, args: Args),签名是这样,第一个参数会消耗闭包的所有权,但是有些情况闭包的匿名结构体会被实现 Copy ,这时候即使是 FnOnce 也可以多次被调用。

nebkad

2

nebkad      2025 年 1 月 26 日

在实际效果上,FnOnce 最多被调用一次。
在抽象意义上,FnOnce 是 FnMut 和 Fn 的超集,因为 FnMut 和 Fn 总是可以理解为消耗一个 &mut Self 和 &Self 来完成一次调用,而 &mut Self 和 &Self 可以视为 Clone 的(不同的 &mut Self 必然有 lifetime 的区别但也算是可 Clone)
这个逻辑不是那么直观,但还算自洽

geekard

3

geekard      2025 年 2 月 3 日

FnOnce 有两个含义:
1. 作为泛型参数的限界,表示该闭包只会被调用一次;
2. 作为传参的闭包函数,它的类型由编译器自动推导,比如 move 捕获的对象时,就只实现了 FnOnce 。

对于第一种作为限界的 FnOnce ,可以传入的闭包类型是最宽松的,也就是可以传入 实现 FnOnce/Fn/FnMut 的闭包。

Observer42

4

Observer42      2025 年 3 月 27 日

这段《 Rust 语言圣经》也没说错,“至少可以被调用一次”