From d6b3ca28b487f35234b3c3b1f95761a8ca3dabca Mon Sep 17 00:00:00 2001 From: Josh Triplett Date: Wed, 30 Oct 2019 08:02:16 -0700 Subject: [PATCH] Add and use a From impl from CodegenError to ModuleError This will also improve reporting of the chain of errors. --- cranelift/module/src/module.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/cranelift/module/src/module.rs b/cranelift/module/src/module.rs index 6b682101cb..34964a7b61 100644 --- a/cranelift/module/src/module.rs +++ b/cranelift/module/src/module.rs @@ -141,7 +141,7 @@ pub enum ModuleError { InvalidImportDefinition(String), /// Wraps a `cranelift-codegen` error #[error("Compilation error: {0}")] - Compilation(CodegenError), + Compilation(#[from] CodegenError), /// Wraps a generic error from a backend #[error("Backend error: {0}")] Backend(String), @@ -549,9 +549,7 @@ where func, ctx.func.display(self.backend.isa()) ); - let CodeInfo { total_size, .. } = ctx - .compile(self.backend.isa()) - .map_err(ModuleError::Compilation)?; + let CodeInfo { total_size, .. } = ctx.compile(self.backend.isa())?; let info = &self.contents.functions[func]; if info.compiled.is_some() { return Err(ModuleError::DuplicateDefinition(info.decl.name.clone()));