Rust 分析儀顯示 VS 代碼中不存在的錯誤(未擴展解序列化宏)

https://users.rust-lang.org/t/rust-analyzer-shows-nonexistent-error-in-vs-code-deserialize-macro-not-expaned/105863#post_1

Rust Analyzer 在 VS Code 中顯示不存在的錯誤 (Deserialize 宏未擴展)

新安裝的 Ubuntu、VS Code(1.85.2)並搭配插件 Rust-analyzer(0.3.1815)和 CodeLLDB(1.10.0)。

一個只有 main.rs 的全新空箱,Rust Analyzer 在 #[derive(Deserialize)] 中顯示錯誤,但 cargo c 未顯示並正常執行程序。有何問題?

Cargo.toml:

[package]
name = “heatmap”
version = “0.1.0”
edition = “2021”

[dependencies]
geo = “0.27”
serde = {version = “1”, features = [“derive”] }
serde_json = “1.0”
csv = “1.3”

main.rs:

use std::{collections::HashMap, error::Error};

use csv::Reader;
use serde::Deserialize;

#[derive(Deserialize, Debug)]
pub struct CsvRow {
lon: f32,
lat: f32
}

fn main() -> Result<(), Box> {
let mut rd = Reader::from_path(“input_path.csv”)?;
let hm: HashMap<(i32, i32), u32> = HashMap::new();
for r in rd.deserialize() {
let r: CsvRow = r?;
let x = (r.lon, r.lat);

}

Ok(())
}

當我在 VS Code 中運行 main.rs 時,錯誤會消失,但一按 Ctrl+S 後,又會重新顯示。

這就是錯誤,發生了什麼事?如何修復?

via The Rust Programming Language Forum – Latest posts

January 26, 2024 at 12:49PM

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *