【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 小时前
JDK26中的Map.ofLazy
java·后端·java ee
云浪12 小时前
Go 并发实战:从零实现一个高并发安全的任务调度器
javascript·后端·go
苏三的开发日记12 小时前
Docker 启动顺序优化(CentOS / Ubuntu)
后端
高频因子挖掘机14 小时前
同一交易日出现重复 K 线:去重前先确认时间、来源和粒度
后端·github·api
feely020815 小时前
《我写了 31 个静态扫描插件,踩了 7 个「假绿」》
后端
橙子家15 小时前
参数校验类异常(Argument Exception)【C# Exception 详解系列一】
后端
掘金挖土16 小时前
前端手摸手跑路之 AI 应用开发(九)
前端·后端
全栈弄潮儿16 小时前
Python实战第8期:函数
后端·python·编程语言
码事漫谈17 小时前
你让 AI “尽力做”,它反而可能做不好
后端