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.
This commit is contained in:
Alex Crichton
2019-11-18 16:26:37 -06:00
committed by Dan Gohman
parent 9182971697
commit f2718a9573
15 changed files with 19 additions and 20 deletions

View File

@@ -32,7 +32,7 @@ wasmtime-wasi-c = { path = "crates/wasi-c", optional = true }
wasi-common = { path = "crates/wasi-common" } wasi-common = { path = "crates/wasi-common" }
docopt = "1.0.1" docopt = "1.0.1"
serde = { "version" = "1.0.94", features = ["derive"] } serde = { "version" = "1.0.94", features = ["derive"] }
faerie = "0.12.0" faerie = "0.13.0"
anyhow = "1.0.19" anyhow = "1.0.19"
target-lexicon = { version = "0.9.0", default-features = false } target-lexicon = { version = "0.9.0", default-features = false }
pretty_env_logger = "0.3.0" pretty_env_logger = "0.3.0"

View File

@@ -17,10 +17,10 @@ wasmparser = "0.39.2"
cranelift-codegen = { version = "0.50.0", features = ["enable-serde"] } cranelift-codegen = { version = "0.50.0", features = ["enable-serde"] }
cranelift-entity = { 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"] } cranelift-wasm = { version = "0.50.0", features = ["enable-serde"] }
faerie = "0.12.0" faerie = "0.13.0"
wasmtime-environ = { path = "../environ", default-features = false } wasmtime-environ = { path = "../environ", default-features = false }
target-lexicon = { version = "0.9.0", 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 } hashbrown = { version = "0.6.0", optional = true }
thiserror = "1.0.4" thiserror = "1.0.4"
more-asserts = "0.2.1" more-asserts = "0.2.1"

View File

@@ -4,9 +4,9 @@
use alloc::string::String; use alloc::string::String;
use alloc::vec::Vec; use alloc::vec::Vec;
use anyhow::Error;
use cranelift_codegen::isa::TargetFrontendConfig; use cranelift_codegen::isa::TargetFrontendConfig;
use faerie::{Artifact, Decl}; use faerie::{Artifact, Decl};
use failure::Error;
#[cfg(not(feature = "std"))] #[cfg(not(feature = "std"))]
use hashbrown::{hash_map, HashMap, HashSet}; use hashbrown::{hash_map, HashMap, HashSet};
use more_asserts::assert_gt; use more_asserts::assert_gt;

View File

@@ -5,7 +5,7 @@ use super::unit::PendingDieRef;
use super::{DebugInputContext, Reader, TransformError}; use super::{DebugInputContext, Reader, TransformError};
use crate::HashMap; use crate::HashMap;
use alloc::vec::Vec; use alloc::vec::Vec;
use failure::Error; use anyhow::Error;
use gimli::{ use gimli::{
write, AttributeValue, DebugLineOffset, DebugStr, DebuggingInformationEntry, UnitOffset, write, AttributeValue, DebugLineOffset, DebugStr, DebuggingInformationEntry, UnitOffset,
}; };

View File

@@ -1,12 +1,12 @@
use super::address_transform::AddressTransform; use super::address_transform::AddressTransform;
use crate::{HashMap, HashSet}; use crate::{HashMap, HashSet};
use alloc::vec::Vec; use alloc::vec::Vec;
use anyhow::Error;
use cranelift_codegen::ir::{StackSlots, ValueLabel, ValueLoc}; use cranelift_codegen::ir::{StackSlots, ValueLabel, ValueLoc};
use cranelift_codegen::isa::RegUnit; use cranelift_codegen::isa::RegUnit;
use cranelift_codegen::ValueLabelsRanges; use cranelift_codegen::ValueLabelsRanges;
use cranelift_entity::EntityRef; use cranelift_entity::EntityRef;
use cranelift_wasm::{get_vmctx_value_label, DefinedFuncIndex}; use cranelift_wasm::{get_vmctx_value_label, DefinedFuncIndex};
use failure::Error;
use gimli::{self, write, Expression, Operation, Reader, ReaderOffset, Register, X86_64}; use gimli::{self, write, Expression, Operation, Reader, ReaderOffset, Register, X86_64};
use more_asserts::{assert_le, assert_lt}; use more_asserts::{assert_le, assert_lt};

View File

@@ -3,9 +3,9 @@ use super::attr::clone_attr_string;
use super::{Reader, TransformError}; use super::{Reader, TransformError};
use alloc::collections::BTreeMap; use alloc::collections::BTreeMap;
use alloc::vec::Vec; use alloc::vec::Vec;
use anyhow::Error;
use core::iter::FromIterator; use core::iter::FromIterator;
use cranelift_entity::EntityRef; use cranelift_entity::EntityRef;
use failure::Error;
use gimli::{ use gimli::{
write, DebugLine, DebugLineOffset, DebugStr, DebuggingInformationEntry, LineEncoding, Unit, write, DebugLine, DebugLineOffset, DebugStr, DebuggingInformationEntry, LineEncoding, Unit,
}; };

View File

@@ -1,7 +1,7 @@
use crate::gc::build_dependencies; use crate::gc::build_dependencies;
use crate::{DebugInfoData, HashSet}; use crate::{DebugInfoData, HashSet};
use anyhow::Error;
use cranelift_codegen::isa::TargetFrontendConfig; use cranelift_codegen::isa::TargetFrontendConfig;
use failure::Error;
use gimli::{ use gimli::{
write, DebugAddr, DebugAddrBase, DebugLine, DebugStr, LocationLists, RangeLists, write, DebugAddr, DebugAddrBase, DebugLine, DebugStr, LocationLists, RangeLists,
UnitSectionOffset, UnitSectionOffset,

View File

@@ -1,9 +1,9 @@
use super::address_transform::AddressTransform; use super::address_transform::AddressTransform;
use super::{DebugInputContext, Reader}; use super::{DebugInputContext, Reader};
use alloc::vec::Vec; use alloc::vec::Vec;
use anyhow::Error;
use cranelift_entity::EntityRef; use cranelift_entity::EntityRef;
use cranelift_wasm::DefinedFuncIndex; use cranelift_wasm::DefinedFuncIndex;
use failure::Error;
use gimli::{write, AttributeValue, DebuggingInformationEntry, RangeListsOffset}; use gimli::{write, AttributeValue, DebuggingInformationEntry, RangeListsOffset};
use more_asserts::assert_lt; use more_asserts::assert_lt;

View File

@@ -5,9 +5,9 @@ use crate::read_debuginfo::WasmFileInfo;
use crate::{HashMap, HashSet}; use crate::{HashMap, HashSet};
use alloc::string::String; use alloc::string::String;
use alloc::vec::Vec; use alloc::vec::Vec;
use anyhow::Error;
use cranelift_entity::EntityRef; use cranelift_entity::EntityRef;
use cranelift_wasm::get_vmctx_value_label; use cranelift_wasm::get_vmctx_value_label;
use failure::Error;
use gimli::write; use gimli::write;
use gimli::{self, LineEncoding}; use gimli::{self, LineEncoding};
use std::path::PathBuf; use std::path::PathBuf;

View File

@@ -7,8 +7,8 @@ use super::utils::{add_internal_types, append_vmctx_info, get_function_frame_inf
use super::{DebugInputContext, Reader, TransformError}; use super::{DebugInputContext, Reader, TransformError};
use crate::{HashMap, HashSet}; use crate::{HashMap, HashSet};
use alloc::{string::String, vec::Vec}; use alloc::{string::String, vec::Vec};
use anyhow::Error;
use cranelift_entity::EntityRef; use cranelift_entity::EntityRef;
use failure::Error;
use gimli::write; use gimli::write;
use gimli::{AttributeValue, DebuggingInformationEntry, Unit, UnitOffset}; use gimli::{AttributeValue, DebuggingInformationEntry, Unit, UnitOffset};
use wasmtime_environ::{ModuleVmctxInfo, ValueLabelsRanges}; use wasmtime_environ::{ModuleVmctxInfo, ValueLabelsRanges};

View File

@@ -1,8 +1,8 @@
use super::address_transform::AddressTransform; use super::address_transform::AddressTransform;
use super::expression::{CompiledExpression, FunctionFrameInfo}; use super::expression::{CompiledExpression, FunctionFrameInfo};
use alloc::vec::Vec; use alloc::vec::Vec;
use anyhow::Error;
use cranelift_wasm::DefinedFuncIndex; use cranelift_wasm::DefinedFuncIndex;
use failure::Error;
use gimli::write; use gimli::write;
use wasmtime_environ::{ModuleVmctxInfo, ValueLabelsRanges}; use wasmtime_environ::{ModuleVmctxInfo, ValueLabelsRanges};

View File

@@ -1,5 +1,4 @@
use alloc::{string::String, vec::Vec}; use alloc::{string::String, vec::Vec};
use core::result;
use faerie::artifact::{Decl, SectionKind}; use faerie::artifact::{Decl, SectionKind};
use faerie::*; use faerie::*;
use gimli::write::{Address, Dwarf, EndianVec, Result, Sections, Writer}; use gimli::write::{Address, Dwarf, EndianVec, Result, Sections, Writer};
@@ -26,19 +25,19 @@ pub fn emit_dwarf(
artifact: &mut Artifact, artifact: &mut Artifact,
mut dwarf: Dwarf, mut dwarf: Dwarf,
symbol_resolver: &dyn SymbolResolver, symbol_resolver: &dyn SymbolResolver,
) -> result::Result<(), failure::Error> { ) -> anyhow::Result<()> {
let endian = RunTimeEndian::Little; let endian = RunTimeEndian::Little;
let mut sections = Sections::new(WriterRelocate::new(endian, symbol_resolver)); let mut sections = Sections::new(WriterRelocate::new(endian, symbol_resolver));
dwarf.write(&mut sections)?; 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( artifact.declare_with(
id.name(), id.name(),
Decl::section(SectionKind::Debug), Decl::section(SectionKind::Debug),
s.writer.take(), 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 { for reloc in &s.relocs {
artifact.link_with( artifact.link_with(
faerie::Link { faerie::Link {

View File

@@ -19,12 +19,12 @@ wasmtime-environ = { path = "../environ", default-features = false }
wasmtime-runtime = { path = "../runtime", default-features = false } wasmtime-runtime = { path = "../runtime", default-features = false }
wasmtime-debug = { path = "../debug", default-features = false } wasmtime-debug = { path = "../debug", default-features = false }
region = "2.0.0" region = "2.0.0"
failure = { version = "0.1.3", default-features = false }
thiserror = "1.0.4" thiserror = "1.0.4"
target-lexicon = { version = "0.9.0", default-features = false } target-lexicon = { version = "0.9.0", default-features = false }
hashbrown = { version = "0.6.0", optional = true } hashbrown = { version = "0.6.0", optional = true }
wasmparser = { version = "0.39.2", default-features = false } wasmparser = { version = "0.39.2", default-features = false }
more-asserts = "0.2.1" more-asserts = "0.2.1"
anyhow = "1.0"
[target.'cfg(target_os = "windows")'.dependencies] [target.'cfg(target_os = "windows")'.dependencies]
winapi = { version = "0.3.7", features = ["winnt", "impl-default"] } winapi = { version = "0.3.7", features = ["winnt", "impl-default"] }

View File

@@ -44,8 +44,8 @@ pub enum SetupError {
Instantiate(#[from] InstantiationError), Instantiate(#[from] InstantiationError),
/// Debug information generation error occured. /// Debug information generation error occured.
#[error("Debug information error: {0}")] #[error("Debug information error")]
DebugInfo(failure::Error), DebugInfo(#[from] anyhow::Error),
} }
/// This is similar to `CompiledModule`, but references the data initializers /// This is similar to `CompiledModule`, but references the data initializers

View File

@@ -15,7 +15,7 @@ cranelift-codegen = { version = "0.50.0", features = ["enable-serde"] }
cranelift-entity = { 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"] } cranelift-wasm = { version = "0.50.0", features = ["enable-serde"] }
wasmtime-environ = { path = "../environ" } wasmtime-environ = { path = "../environ" }
faerie = "0.12.0" faerie = "0.13.0"
more-asserts = "0.2.1" more-asserts = "0.2.1"
[badges] [badges]