LINUX.ORG.RU

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

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

Еще было бы интересно посмотреть, как на кодах ошибок будут выглядеть аналоги C++ного accumulate

Коряво будет. Потому что Си++ accumulate, внезапно, сделан с расчетом на использование исключений. Если сравнивать Rust и Си++ по маленьким кусочкам кода, которые закладываются на специфические возможности Си++, то, естественно, получишь вывод о полном преимуществе последнего.

- исключение бросает [...]

- исключение бросает [...]

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

в Rust-е у нас iter может давать либо Т, либо Result<T,MQError>

Option<T>, если моя память мне ни с кем не изменяет (хотя, наверное, T может быть Result<T, MQError>).

Исправление tailgunner, :

Еще было бы интересно посмотреть, как на кодах ошибок будут выглядеть аналоги C++ного accumulate

Коряво будет. Потому что Си++ accumulate, внезапно, сделан с расчетом на использование исключений. Если сравнивать Rust и Си++ по маленьким кусочкам кода, которые закладываются на специфические возможности Си++, то, естественно, получишь вывод о полном преимуществе последнего.

- исключение бросает [...]

- исключение бросает [...]

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

в Rust-е у нас iter может давать либо Т, либо Result<T,MQError>

Option<T>, если моя память мне ни с кем не изменяет (хотя, наверное, T может быть Result<T, MOError>).

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

Еще было бы интересно посмотреть, как на кодах ошибок будут выглядеть аналоги C++ного accumulate

Коряво будет. Потому что Си++ accumulate, внезапно, сделан с расчетом на использование исключений. Если сравнивать Rust и Си++ по маленьким кусочкам кода, которые закладываются на специфические возможности Си++, то, естественно, получишь вывод о полном преимуществе последнего.

- исключение бросает [...]

- исключение бросает [...]

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