From f2718a9573103ec048f3cd0ea4ce42af39ac9f8b Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Mon, 18 Nov 2019 16:26:37 -0600 Subject: [PATCH] Update faerie, remove usage of `failure` (#591) This commit removes the usage of the `failure` crate and finishes up the final pieces of the migration to `std::error::Error` and `anyhow`. The `faerie` crate was updated to pull in its migration from `failure` to `anyhow` as well. --- Cargo.toml | 2 +- crates/debug/Cargo.toml | 4 ++-- crates/debug/src/lib.rs | 2 +- crates/debug/src/transform/attr.rs | 2 +- crates/debug/src/transform/expression.rs | 2 +- crates/debug/src/transform/line_program.rs | 2 +- crates/debug/src/transform/mod.rs | 2 +- crates/debug/src/transform/range_info_builder.rs | 2 +- crates/debug/src/transform/simulate.rs | 2 +- crates/debug/src/transform/unit.rs | 2 +- crates/debug/src/transform/utils.rs | 2 +- crates/debug/src/write_debuginfo.rs | 7 +++---- crates/jit/Cargo.toml | 2 +- crates/jit/src/instantiate.rs | 4 ++-- crates/obj/Cargo.toml | 2 +- 15 files changed, 19 insertions(+), 20 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 12a0fa9174..b9909d7e70 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,7 +32,7 @@ wasmtime-wasi-c = { path = "crates/wasi-c", optional = true } wasi-common = { path = "crates/wasi-common" } docopt = "1.0.1" serde = { "version" = "1.0.94", features = ["derive"] } -faerie = "0.12.0" +faerie = "0.13.0" anyhow = "1.0.19" target-lexicon = { version = "0.9.0", default-features = false } pretty_env_logger = "0.3.0" diff --git a/crates/debug/Cargo.toml b/crates/debug/Cargo.toml index 5231bcb93f..e83e1e62c7 100644 --- a/crates/debug/Cargo.toml +++ b/crates/debug/Cargo.toml @@ -17,10 +17,10 @@ wasmparser = "0.39.2" cranelift-codegen = { version = "0.50.0", features = ["enable-serde"] } cranelift-entity = { version = "0.50.0", features = ["enable-serde"] } cranelift-wasm = { version = "0.50.0", features = ["enable-serde"] } -faerie = "0.12.0" +faerie = "0.13.0" wasmtime-environ = { path = "../environ", default-features = false } target-lexicon = { version = "0.9.0", default-features = false } -failure = { version = "0.1.3", default-features = false } +anyhow = "1.0" hashbrown = { version = "0.6.0", optional = true } thiserror = "1.0.4" more-asserts = "0.2.1" diff --git a/crates/debug/src/lib.rs b/crates/debug/src/lib.rs index ccaa4460c5..be46544bd2 100644 --- a/crates/debug/src/lib.rs +++ b/crates/debug/src/lib.rs @@ -4,9 +4,9 @@ use alloc::string::String; use alloc::vec::Vec; +use anyhow::Error; use cranelift_codegen::isa::TargetFrontendConfig; use faerie::{Artifact, Decl}; -use failure::Error; #[cfg(not(feature = "std"))] use hashbrown::{hash_map, HashMap, HashSet}; use more_asserts::assert_gt; diff --git a/crates/debug/src/transform/attr.rs b/crates/debug/src/transform/attr.rs index a52f25239d..755441565e 100644 --- a/crates/debug/src/transform/attr.rs +++ b/crates/debug/src/transform/attr.rs @@ -5,7 +5,7 @@ use super::unit::PendingDieRef; use super::{DebugInputContext, Reader, TransformError}; use crate::HashMap; use alloc::vec::Vec; -use failure::Error; +use anyhow::Error; use gimli::{ write, AttributeValue, DebugLineOffset, DebugStr, DebuggingInformationEntry, UnitOffset, }; diff --git a/crates/debug/src/transform/expression.rs b/crates/debug/src/transform/expression.rs index 2102a600ff..64950a303c 100644 --- a/crates/debug/src/transform/expression.rs +++ b/crates/debug/src/transform/expression.rs @@ -1,12 +1,12 @@ use super::address_transform::AddressTransform; use crate::{HashMap, HashSet}; use alloc::vec::Vec; +use anyhow::Error; use cranelift_codegen::ir::{StackSlots, ValueLabel, ValueLoc}; use cranelift_codegen::isa::RegUnit; use cranelift_codegen::ValueLabelsRanges; use cranelift_entity::EntityRef; use cranelift_wasm::{get_vmctx_value_label, DefinedFuncIndex}; -use failure::Error; use gimli::{self, write, Expression, Operation, Reader, ReaderOffset, Register, X86_64}; use more_asserts::{assert_le, assert_lt}; diff --git a/crates/debug/src/transform/line_program.rs b/crates/debug/src/transform/line_program.rs index 153f944b91..7d6deaaeba 100644 --- a/crates/debug/src/transform/line_program.rs +++ b/crates/debug/src/transform/line_program.rs @@ -3,9 +3,9 @@ use super::attr::clone_attr_string; use super::{Reader, TransformError}; use alloc::collections::BTreeMap; use alloc::vec::Vec; +use anyhow::Error; use core::iter::FromIterator; use cranelift_entity::EntityRef; -use failure::Error; use gimli::{ write, DebugLine, DebugLineOffset, DebugStr, DebuggingInformationEntry, LineEncoding, Unit, }; diff --git a/crates/debug/src/transform/mod.rs b/crates/debug/src/transform/mod.rs index 7b553a2b9d..18dd363a52 100644 --- a/crates/debug/src/transform/mod.rs +++ b/crates/debug/src/transform/mod.rs @@ -1,7 +1,7 @@ use crate::gc::build_dependencies; use crate::{DebugInfoData, HashSet}; +use anyhow::Error; use cranelift_codegen::isa::TargetFrontendConfig; -use failure::Error; use gimli::{ write, DebugAddr, DebugAddrBase, DebugLine, DebugStr, LocationLists, RangeLists, UnitSectionOffset, diff --git a/crates/debug/src/transform/range_info_builder.rs b/crates/debug/src/transform/range_info_builder.rs index e3d15f9a0d..e26b1e451e 100644 --- a/crates/debug/src/transform/range_info_builder.rs +++ b/crates/debug/src/transform/range_info_builder.rs @@ -1,9 +1,9 @@ use super::address_transform::AddressTransform; use super::{DebugInputContext, Reader}; use alloc::vec::Vec; +use anyhow::Error; use cranelift_entity::EntityRef; use cranelift_wasm::DefinedFuncIndex; -use failure::Error; use gimli::{write, AttributeValue, DebuggingInformationEntry, RangeListsOffset}; use more_asserts::assert_lt; diff --git a/crates/debug/src/transform/simulate.rs b/crates/debug/src/transform/simulate.rs index 11ae287c87..728a30ea94 100644 --- a/crates/debug/src/transform/simulate.rs +++ b/crates/debug/src/transform/simulate.rs @@ -5,9 +5,9 @@ use crate::read_debuginfo::WasmFileInfo; use crate::{HashMap, HashSet}; use alloc::string::String; use alloc::vec::Vec; +use anyhow::Error; use cranelift_entity::EntityRef; use cranelift_wasm::get_vmctx_value_label; -use failure::Error; use gimli::write; use gimli::{self, LineEncoding}; use std::path::PathBuf; diff --git a/crates/debug/src/transform/unit.rs b/crates/debug/src/transform/unit.rs index 041e6b05f6..ee5d929892 100644 --- a/crates/debug/src/transform/unit.rs +++ b/crates/debug/src/transform/unit.rs @@ -7,8 +7,8 @@ use super::utils::{add_internal_types, append_vmctx_info, get_function_frame_inf use super::{DebugInputContext, Reader, TransformError}; use crate::{HashMap, HashSet}; use alloc::{string::String, vec::Vec}; +use anyhow::Error; use cranelift_entity::EntityRef; -use failure::Error; use gimli::write; use gimli::{AttributeValue, DebuggingInformationEntry, Unit, UnitOffset}; use wasmtime_environ::{ModuleVmctxInfo, ValueLabelsRanges}; diff --git a/crates/debug/src/transform/utils.rs b/crates/debug/src/transform/utils.rs index e9b10dabd3..24c94df265 100644 --- a/crates/debug/src/transform/utils.rs +++ b/crates/debug/src/transform/utils.rs @@ -1,8 +1,8 @@ use super::address_transform::AddressTransform; use super::expression::{CompiledExpression, FunctionFrameInfo}; use alloc::vec::Vec; +use anyhow::Error; use cranelift_wasm::DefinedFuncIndex; -use failure::Error; use gimli::write; use wasmtime_environ::{ModuleVmctxInfo, ValueLabelsRanges}; diff --git a/crates/debug/src/write_debuginfo.rs b/crates/debug/src/write_debuginfo.rs index 3ade7d4ef5..3e0b6e1d3c 100644 --- a/crates/debug/src/write_debuginfo.rs +++ b/crates/debug/src/write_debuginfo.rs @@ -1,5 +1,4 @@ use alloc::{string::String, vec::Vec}; -use core::result; use faerie::artifact::{Decl, SectionKind}; use faerie::*; use gimli::write::{Address, Dwarf, EndianVec, Result, Sections, Writer}; @@ -26,19 +25,19 @@ pub fn emit_dwarf( artifact: &mut Artifact, mut dwarf: Dwarf, symbol_resolver: &dyn SymbolResolver, -) -> result::Result<(), failure::Error> { +) -> anyhow::Result<()> { let endian = RunTimeEndian::Little; let mut sections = Sections::new(WriterRelocate::new(endian, symbol_resolver)); dwarf.write(&mut sections)?; - sections.for_each_mut(|id, s| -> result::Result<(), failure::Error> { + sections.for_each_mut(|id, s| -> anyhow::Result<()> { artifact.declare_with( id.name(), Decl::section(SectionKind::Debug), s.writer.take(), ) })?; - sections.for_each_mut(|id, s| -> result::Result<(), failure::Error> { + sections.for_each_mut(|id, s| -> anyhow::Result<()> { for reloc in &s.relocs { artifact.link_with( faerie::Link { diff --git a/crates/jit/Cargo.toml b/crates/jit/Cargo.toml index 4626502131..21dfb718dc 100644 --- a/crates/jit/Cargo.toml +++ b/crates/jit/Cargo.toml @@ -19,12 +19,12 @@ wasmtime-environ = { path = "../environ", default-features = false } wasmtime-runtime = { path = "../runtime", default-features = false } wasmtime-debug = { path = "../debug", default-features = false } region = "2.0.0" -failure = { version = "0.1.3", default-features = false } thiserror = "1.0.4" target-lexicon = { version = "0.9.0", default-features = false } hashbrown = { version = "0.6.0", optional = true } wasmparser = { version = "0.39.2", default-features = false } more-asserts = "0.2.1" +anyhow = "1.0" [target.'cfg(target_os = "windows")'.dependencies] winapi = { version = "0.3.7", features = ["winnt", "impl-default"] } diff --git a/crates/jit/src/instantiate.rs b/crates/jit/src/instantiate.rs index e5f65e29bf..edd35a9ef5 100644 --- a/crates/jit/src/instantiate.rs +++ b/crates/jit/src/instantiate.rs @@ -44,8 +44,8 @@ pub enum SetupError { Instantiate(#[from] InstantiationError), /// Debug information generation error occured. - #[error("Debug information error: {0}")] - DebugInfo(failure::Error), + #[error("Debug information error")] + DebugInfo(#[from] anyhow::Error), } /// This is similar to `CompiledModule`, but references the data initializers diff --git a/crates/obj/Cargo.toml b/crates/obj/Cargo.toml index d77ffb326c..cfebcaa828 100644 --- a/crates/obj/Cargo.toml +++ b/crates/obj/Cargo.toml @@ -15,7 +15,7 @@ cranelift-codegen = { version = "0.50.0", features = ["enable-serde"] } cranelift-entity = { version = "0.50.0", features = ["enable-serde"] } cranelift-wasm = { version = "0.50.0", features = ["enable-serde"] } wasmtime-environ = { path = "../environ" } -faerie = "0.12.0" +faerie = "0.13.0" more-asserts = "0.2.1" [badges]