¿Qué se desenvuelve en Rust y para qué se utiliza?

Tengo este código que usa.unwrap():

fn main() {
    let paths = std::fs::read_dir("/home/user").unwrap();

    for path in paths {
        println!("Name: {}", path.unwrap().path().display());

    }
}

Después de mirar eldefinicion deunwrap,

pub fn unwrap(self) -> T {
  match self {
        Ok(t) => t,
        Err(e) => unwrap_failed("called `Result::unwrap()` on an `Err` value", e),
    }
}

Y elfirma deread_dir

pub fn read_dir<P: AsRef<Path>>(path: P) -> io::Result<ReadDir>

¿Estoy en lo cierto al entender queunwrap devuelve elT tipo que se pasaResult?

Respuestas a la pregunta(1)

Su respuesta a la pregunta