【rust编译错误解读】

PANIC

1cannot index into a value of type std::option::Option<&Vec<Value>>

(不能访问下标index在一个Option包裹的Vec中)

尝试对一个 Option 类型的值进行索引操作,而这个 Option 可能包含一个对 Vec 的引用,或者它可能是 None。在 Rust 中,你不能直接对 Option 类型的值进行索引,因为它不是序列类型(像 Vec 或数组那样)。你需要先从 Option 中提取出 Vec 的引用,然后才能对它进行索引。

2 mismatched types
expected struct Vec<(f64, f64)>
found struct std::iter::Map<std::option::Iter<'_, &Vec<Value>>, {closure@src\main.rs:242:62: 242:67}>

3 mismatched types
expected struct dashmap::mapref::multiple::RefMulti<'_, std::string::String, data>
found tuple (_, _)rustcClick for full compiler diagnostic
main.rs(263, 28): this is an iterator with items of type dashmap::mapref::multiple::RefMulti<'_, std::string::String, data>

derive may only be applied to structs, enums and unions

错误信息 "derive may only be applied to structs, enums and unions" 表明你尝试在一个不是结构体(struct)、枚举(enum)或联合(union)的项上使用 derive 属性宏。在 Rust 中,derive 属性用于自动派生一些特性(traits)的实现,如 Debug、PartialEq 等,但它只能用于特定的类型。

WARN

variable BTC_subscription should have a snake case name
#[warn(non_snake_case)] on by defaultrustcClick for full compiler diagnostic
main.rs(103, 10): convert the identifier to snake case: btc_subscription

在 Rust 中,有一个编码规范建议变量名应该使用蛇形命名法(snake_case)。这意味着变量名应该全部由小写字母组成,单词之间使用下划线(_)分隔。这个规范在 Rust 的默认设置 #[warn(non_snake_case)] 中是开启的,所以如果你的变量名不符合这个规范,编译器会发出警告。

根据你提供的错误信息,你需要将变量名 BTC_subscription 转换为蛇形命名法。你可以将其重命名为 btc_subscription

相关推荐
啦啦右一10 分钟前
Spring Boot | (一)Spring开发环境构建
spring boot·后端·spring
森屿Serien11 分钟前
Spring Boot常用注解
java·spring boot·后端
轻口味38 分钟前
命名空间与模块化概述
开发语言·前端·javascript
晓纪同学2 小时前
QT-简单视觉框架代码
开发语言·qt
威桑2 小时前
Qt SizePolicy详解:minimum 与 minimumExpanding 的区别
开发语言·qt·扩张策略
飞飞-躺着更舒服2 小时前
【QT】实现电子飞行显示器(简易版)
开发语言·qt
明月看潮生2 小时前
青少年编程与数学 02-004 Go语言Web编程 16课题、并发编程
开发语言·青少年编程·并发编程·编程与数学·goweb
明月看潮生2 小时前
青少年编程与数学 02-004 Go语言Web编程 17课题、静态文件
开发语言·青少年编程·编程与数学·goweb
Java Fans2 小时前
C# 中串口读取问题及解决方案
开发语言·c#
盛派网络小助手2 小时前
微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
开发语言·人工智能·后端·架构·c#