LINUX.ORG.RU

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

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

Думаю изучить Rust. Пока почитал доки, даже хелловорлды не писал, решил глянуть код какого-нибудь готового проекта. И тут как раз этот попался. Больно не пинать, если вопрос глупый.

Вот эта функция:

pub fn parse_data(data: &[u8], opt: &ParseOptions) -> Result<Document, Error> {
    match Document::from_data_with_opt(data, opt) {
        Ok(d) => Ok(d),
        Err(e) => Err(e),
    }
}

Чем отличается от:

pub fn parse_data(data: &[u8], opt: &ParseOptions) -> Result<Document, Error> {
    Document::from_data_with_opt(data, opt)
}

Ведь мы что матчим, то и возвращаем. Или нет? Для чего здесь нужен match?

Исходная версия Psych218, :

Думаю изучить Rust. Пока почитал доки, даже хелловорлды не писал, решил глянуть код какого-нибудь готового проекта. И тут как раз этот попался. Больно не пинать, если вопрос глупый.

Вот эта функция:

pub fn parse_data(data: &[u8], opt: &ParseOptions) -> Result<Document, Error> {
    match Document::from_data_with_opt(data, opt) {
        Ok(d) => Ok(d),
        Err(e) => Err(e),
    }
}

Чем отличается от:

Result<Document, Error> {
    Document::from_data_with_opt(data, opt)
}

Ведь мы что матчим, то и возвращаем. Или нет? Для чего здесь нужен match?