From fdfda89d5998b94715a2ef5d4f626c3fe896026e Mon Sep 17 00:00:00 2001 From: Pat Hickey Date: Fri, 13 Mar 2020 11:34:21 -0700 Subject: [PATCH] cranelift-module: make backend error an anyhow::Error This allows us to retain richer information from backend errors. We already have `anyhow` as a dep in several places in the wasmtime tree, and in cranelift-faerie. faerie is the only user of this variant. Existing code that puts a String into the Backend error can trivially adapt their code to emit an anyhow::Error. --- cranelift/module/Cargo.toml | 1 + cranelift/module/src/module.rs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/cranelift/module/Cargo.toml b/cranelift/module/Cargo.toml index 765179c649..423b2fdf85 100644 --- a/cranelift/module/Cargo.toml +++ b/cranelift/module/Cargo.toml @@ -16,6 +16,7 @@ cranelift-entity = { path = "../entity", version = "0.59.0" } hashbrown = { version = "0.6", optional = true } log = { version = "0.4.6", default-features = false } thiserror = "1.0.4" +anyhow = "1.0" [features] default = ["std"] diff --git a/cranelift/module/src/module.rs b/cranelift/module/src/module.rs index daa83c2956..470eea17fe 100644 --- a/cranelift/module/src/module.rs +++ b/cranelift/module/src/module.rs @@ -149,7 +149,7 @@ pub enum ModuleError { Compilation(#[from] CodegenError), /// Wraps a generic error from a backend #[error("Backend error: {0}")] - Backend(String), + Backend(#[source] anyhow::Error), } /// A convenient alias for a `Result` that uses `ModuleError` as the error type.