【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

相关推荐
惊鸿.Jh1 分钟前
C++可变参数模板
开发语言·python
素素.陈5 分钟前
向RAGFlow中上传文档到对应的知识库
开发语言·python
William_cl8 分钟前
ASP.NET MVC 前置基础:宿主环境 & HttpRuntime 管道,从部署到流程拆透(附避坑指南)
后端·asp.net·mvc
IT_陈寒12 分钟前
Vue3性能优化实战:这7个技巧让我的应用加载速度提升50%!
前端·人工智能·后端
小宁爱Python13 分钟前
Django Web 开发系列(一):视图基础与 URL 路由配置全解析
后端·python·django
Json____26 分钟前
学习springBoot框架-开发一个酒店管理系统,来熟悉springboot框架语法~
spring boot·后端·学习
Victor35631 分钟前
Redis(74)Redis分布式锁与ZooKeeper分布式锁有何区别?
后端
风象南31 分钟前
SpringBoot “分身术”:同时监听多个端口
后端
Victor35634 分钟前
Redis(75)Redis分布式锁的性能如何优化?
后端
JaguarJack36 分钟前
PHP 8.5 新特性 闭包可以作为常量表达式了
后端·php