История изменений
Исправление tailgunner, (текущая версия) :
В error-chain ничего не плодят и не возвращают. Вернее, там плодят варианты ErrorKind'а и мапят в них чужие ошибки, а речь была о возвращении из функции разных ошибок в виде Box<Error>.
В error-chain именно возвращают чужие ошибки в виде Box<Error>.
http://rust-lang-nursery.github.io/rustup.rs/error_chain/index.html#chaining-...
" If the Result is an Err then chain_err evaluates the closure, which returns some type that can be converted to ErrorKind, boxes the original error to store as the cause, then returns a new error containing the original error"
Больше никак чейнинг и не реализовать.
Исходная версия tailgunner, :
В error-chain ничего не плодят и не возвращают. Вернее, там плодят варианты ErrorKind'а и мапят в них чужие ошибки, а речь была о возвращении из функции разных ошибок в виде Box<Error>.
В error-chain именно возвращают чужие ошибки в виде Box<Error>.
http://rust-lang-nursery.github.io/rustup.rs/error_chain/index.html#chaining-...
" If the Result is an Err then chain_err evaluates the closure, which returns some type that can be converted to ErrorKind, boxes the original error to store as the cause, then returns a new error containing the original error"