Closed
Description
rust-analyzer version: rust-analyzer version: 0.3.1131-standalone (897a7ec 2022-07-17)
rustc version: 1.62.1
relevant settings:
Bug appears on both Windows and WSL. On Windows 11 / Ubuntu 20.04
The code compiles and runs fine, no issues, but Rust-analyzer gives me an error when using DMatrix (typed as Matrix)'s associated functions.
Code example:
extern crate csv;
use csv::Reader;
use std::vec::Vec;
use std::fs;
extern crate nalgebra as na;
type Matrix = na::DMatrix<f32>
pub struct Dataset <const I: usize, const A: usize> {
filename: String,
dataset: Vec<Matrix>,
}
impl <const I: usize, const A: usize> Dataset <I, A> {
pub fn new(name: &str) -> Self {
Dataset { filename: name.to_string(), dataset: Vec::new() }
}
pub fn load_csv<F: Fn(&Vec<String>, &mut [[f32; I]; A])>(&mut self, conversion: F) {
let contents = fs::read_to_string(
"data/".to_string() + &self.filename + ".csv").unwrap();
let mut reader = csv::ReaderBuilder::new()
.delimiter(b',')
.from_reader(contents.as_bytes());
let mut output = [[0.0; I]; A];
for result in reader.records() {
let record = result.unwrap();
let mut features: Vec<String> = Vec::new();
for f in &record {
features.push(f.to_string());
}
(conversion)(&features, &mut output);
let newmat = Matrix::from_fn(I - 1, A - 1, |i, j| { //<--- Error occurs here
output[i][j]
});
}
}
}
Error:
This code lines up with nalgebra's documentation, as found here: https://nalgebra.org/docs/user_guide/vectors_and_matrices#matrix-construction
Cargo.toml:
[package]
name = "canyon"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
nalgebra = "0.31.0"
csv = "1.1.6"
Metadata
Metadata
Assignees
Labels
No labels