# HG changeset patch # User Raphaël Gomès # Date 2020-11-16 15:36:00 # Node ID c9c3c277e5a55d9e4715bc8a9221428716a7384e # Parent 073bb7563931114c6d41b91939a13f93fcd6396c rust-status: properly translate OSError to Python This is probably never going to be called after the next few patches, but we might as well make sure this is done correctly for the future rewrite. Differential Revision: https://phab.mercurial-scm.org/D9319 diff --git a/rust/hg-cpython/src/dirstate/status.rs b/rust/hg-cpython/src/dirstate/status.rs --- a/rust/hg-cpython/src/dirstate/status.rs +++ b/rust/hg-cpython/src/dirstate/status.rs @@ -10,6 +10,7 @@ //! `rustext.dirstate.status`. use crate::{dirstate::DirstateMap, exceptions::FallbackError}; +use cpython::exc::OSError; use cpython::{ exc::ValueError, ObjectProtocol, PyBytes, PyErr, PyList, PyObject, PyResult, PyTuple, Python, PythonObject, ToPyObject, @@ -89,6 +90,7 @@ fn handle_fallback(py: Python, err: Stat PyErr::new::(py, &as_string) } + StatusError::IO(e) => PyErr::new::(py, e.to_string()), e => PyErr::new::(py, e.to_string()), } }