diff --git a/src/rcore.rs b/src/rcore.rs index 61b4a58..56c8ccd 100644 --- a/src/rcore.rs +++ b/src/rcore.rs @@ -29,7 +29,7 @@ use self::dectx::DeCtxT; pub use self::diagnostic::Diagnostic; pub use self::hashing::{Hash, HASH_SIZE, HASH_ZEROS}; pub use self::inctx::InCtx; -pub use self::inlining::{Inlining, InliningExt}; +pub use self::inlining::{Inlining, InliningExt, InliningResultExt}; pub use self::origin::{OFctr, Origin}; pub use self::point::Point; pub use self::points::TakesPoints; diff --git a/src/rcore/inlining.rs b/src/rcore/inlining.rs index 2e7c643..7a97dac 100644 --- a/src/rcore/inlining.rs +++ b/src/rcore/inlining.rs @@ -51,3 +51,13 @@ impl Inlining for &mut D { self.tell() } } + +pub trait InliningResultExt { + fn seal(self) -> Result; +} + +impl InliningResultExt for Result<(A, I), E> { + fn seal(self) -> Result { + self.map(|(a, _)| a) + } +}