LINUX.ORG.RU

История изменений

Исправление quantum-troll, (текущая версия) :

Ну, например, с помощью метода `map`:

#[derive(Debug)]
struct X(String);

fn f(b: bool) -> Result<X, ()> {
    match b {
        true => Ok(X("ok res".to_string())), 
        false => Err(())
    }   
}   

fn main() {
    let res = f(true);
    println!("{:?}", res.map(|X(x)| x)); //=> Ok("ok res")
}

Исходная версия quantum-troll, :

Ну, например, с помощью метода `map`:

#[derive(Debug)]
struct X(String);

fn f(b: bool ) -> Result<X, ()> {
    match b {
        true => Ok(X("ok res".to_string()) ), 
        false => Err(())
    }   
}   

fn main() {
    let res = f(true);
    println!("{:?}", res.map(|X(x)| x)); //=> Ok("ok res")
}