Abrir archivos dentro de la carpeta “data” y crear un thread para cada archivo abierto

use std::thread::spawn;
use std::fs::{File, read_dir};
use std::io::{BufRead, BufReader};
use std::io::*;

let file = if let Ok(dir) = read_dir(concat!(env!("CARGO_MANIFEST_DIR"), "/data")){
        dir
    }else{
        return;
    };
    
    let mut paths = vec![];

    for d in file{
        if let Ok(dir_entry) = d{
            paths.push(dir_entry.path())
        }
    }

    
    let mut thread_handlers = vec![];

    // Para cada archivo
    for p in paths{
        

        thread_handlers.push(spawn(move || {
            
            let file = match File::open(p){
                Ok(file) => file,
                Err(_) => return
            };
    
            let reader = BufReader::new(file);
            let lines = reader.lines();

            

        }
        ));
    }

    for thread_handler in thread_handlers{
        if let Ok(_) = thread_handler.join(){}
        else{
            // Error Handling
            println!("Algo raro sucedio")
        }
    }