##// END OF EJS Templates
rust: run a clippy pass with the latest stable version...
rust: run a clippy pass with the latest stable version Our current version of clippy is older than the latest stable. The newest version has new lints that are moslty good advice, so let's apply them ahead of time. This has the added benefit of reducing the noise for developpers like myself that use clippy as an IDE helper, as well as being more prepared for a future clippy upgrade.

File last commit:

r51872:4c5f6e95 default
r52013:532e74ad default
Show More
exceptions.rs
63 lines | 2.0 KiB | application/rls-services+xml | RustLexer
Georges Racinet
rust-cpython: rustdoc improvements...
r41220 // ancestors.rs
//
// Copyright 2018 Georges Racinet <gracinet@anybox.fr>
//
// This software may be used and distributed according to the terms of the
// GNU General Public License version 2 or any later version.
//! Bindings for Rust errors
//!
//! [`GraphError`] exposes `hg::GraphError` as a subclass of `ValueError`
Georges Racinet
rust: error for WdirUnsupported with cpython conversion as exception...
r41385 //! but some variants of `hg::GraphError` can be converted directly to other
//! existing Python exceptions if appropriate.
Georges Racinet
rust-cpython: rustdoc improvements...
r41220 //!
//! [`GraphError`]: struct.GraphError.html
Raphaël Gomès
rust: switch hg-core and hg-cpython to rust 2018 edition...
r42828 use cpython::{
Raphaël Gomès
rust-filepatterns: remove bridge code for filepatterns-related functions...
r44589 exc::{RuntimeError, ValueError},
Raphaël Gomès
rust: switch hg-core and hg-cpython to rust 2018 edition...
r42828 py_exception, PyErr, Python,
};
Georges Racinet
rust-cpython: start cpython crate bindings...
r41001 use hg;
Raphaël Gomès
rust: make `Revision` a newtype...
r51872 use crate::PyRevision;
Georges Racinet
rust-cpython: start cpython crate bindings...
r41001 py_exception!(rustext, GraphError, ValueError);
impl GraphError {
pub fn pynew(py: Python, inner: hg::GraphError) -> PyErr {
match inner {
hg::GraphError::ParentOutOfRange(r) => {
Raphaël Gomès
rust: make `Revision` a newtype...
r51872 GraphError::new(py, ("ParentOutOfRange", PyRevision(r.0)))
Georges Racinet
rust-cpython: start cpython crate bindings...
r41001 }
Raphaël Gomès
rust-filepatterns: add `rust-cpython` bindings for `filepatterns`...
r42515 }
}
pacien
hg-cpython: use ancestor iterator impls from vcsgraph...
r49350
pub fn pynew_from_vcsgraph(
py: Python,
inner: vcsgraph::graph::GraphReadError,
) -> PyErr {
match inner {
vcsgraph::graph::GraphReadError::InconsistentGraphData => {
GraphError::new(py, "InconsistentGraphData")
}
vcsgraph::graph::GraphReadError::InvalidKey => {
GraphError::new(py, "ParentOutOfRange")
}
vcsgraph::graph::GraphReadError::KeyedInvalidKey(r) => {
GraphError::new(py, ("ParentOutOfRange", r))
}
vcsgraph::graph::GraphReadError::WorkingDirectoryUnsupported => {
match py
.import("mercurial.error")
.and_then(|m| m.get(py, "WdirUnsupported"))
{
Err(e) => e,
Ok(cls) => PyErr::from_instance(py, cls),
}
}
}
}
Raphaël Gomès
rust-filepatterns: add `rust-cpython` bindings for `filepatterns`...
r42515 }
Raphaël Gomès
rust-hgpath: replace all paths and filenames with HgPath/HgPathBuf...
r43227 py_exception!(rustext, HgPathPyError, RuntimeError);
Raphaël Gomès
rust-status: update rust-cpython bridge to account for the changes in core...
r45016 py_exception!(rustext, FallbackError, RuntimeError);
py_exception!(shared_ref, AlreadyBorrowed, RuntimeError);