LNM226ITXRMWOSX6GOJ4HO72BWFRBDKQTEZMF4QUJUACUIOKIEJQC
IEMA7CQ74EKDOWZRKUCMJ5FIVAT42RMEQ5RUFM4WVNFYUNIAO7OAC
7T5M2QMTLQOO7IAVV3PNTEWMFAROZRHKQ3ILVH2M6UVH6ZX7LK2AC
VDKG76BAGMQUFQAVLRHYCDCWBMPTRMNJA4UWL2FSZVTHXOTQPQPQC
LVRJGMVSV5XMCL7MTH5I5P7XMIBERKKUZRZKUXWME5SVEOZCITVAC
CGVRXTHWQMFRVMYLHWFOBJDVJCQZFRS7MQ2CGY7MQKRWJI7H2MQAC
WUKQQ2HKS3KGG4LBEMGX7SLQISJ3PSFCEKQNWNGJICQSALMSKD7AC
EVYOBH4FZF227T7L5ZIUHML4Y4ETGDD263I7LH2SXLJ65VKPWHFAC
WLYMZDSEPWVZKL7SEBWGTTXMM5MHIVTR4TPYVCEASATV5QNLPAMAC
DAFQ2ZKJ5PUWBADTJ7O2FRVHQNYC7UCHX4IYXYCJQ3PFSBONAV6QC
A7XFGY27VWAUKSYMMLJBKXI7INEXFADJX376MPLLAB57UYHCYMNAC
FI3GU4N3DLTBMDKLXBIH6LAYCGJBVQKI6CLWAENOSPJSC5C2PW3QC
AS5RMKIRDJZZI4TD5D6ENMBQ24CDEHNOSZBI4F2MYHWCUSY4HXIAC
A3SI6SDDY5X6ITI2QHWTNDEHALX2YCN4Z62RYCODI7N7TW6CS2DQC
YFPLDRSKXBA6JKSY3NRDKRBVNJFPW7V5EHNLPQFNMKO3NTFMBBEAC
APCWEVXRMAWJJBZ2N6DCNQPEBAMD5WAR2Q45BPJHZXQBRH3HOI6QC
CMUTTQVULRL5WISGIGHMKGLCKUG3YJRJCBIBNU7SMEJQXFQBAHWAC
6BNRWGF55J5M3YBWYNTWJCRJQSEHY7YRKOUBV43W7I2HCTFDJHUQC
VPMZ53P77PEBGYXR46WL2XLD5IS4IJ545BZAKXE63OD2G5VJ5Y4QC
FUJQNVMLSYHOFH6Z663M2MIGQXYSWGMNUKEIT2O4JYER3CGGLV3AC
DBYTNFJIVBGNURGIPWS3NJBI4XPF6IU6NY2BLBTJCECYVCGBWSNAC
XTAA3C2QONDOLLQHFCYSX6YHG4TAO2OEIMWT76IEDRKM63YEQLKAC
BWTGJOX32366LU752LXMM3IBPZH5J5N4F25QY4S64AEK725OKUYAC
EKYR4HDT6DHI7H5YMSHEBHXLPDCA2X2XNXYHDKHWGMPHNVTUBCMQC
TOB3GIX6URUWT7SYBP4QJ5FWF6DKP3NMZXRWBZ3H7PKBAJ6VR2IQC
YWW5TKMSPEGRZ52FQZ3SC4C3DEZ57U5XUO4LHZC34BJA7QR5NSCQC
D3IJE5IHSC64GMC3QZUYMSPZL2PXIVOHCWF7BREKRQXJQLURZBLQC
KU3EUQE2P5B6JDOKOCOHMYLFGQMYTWIFXRKQCV4YHY26EIZQQ5VAC
ANPVVYNDAQDZ5C5UK5Q45RUZJ6CSRLRZJNUNWZ2Z7NHIBJQKMJVQC
MOSHJ3ZHBZUKDXUP4WDUJGOG3R3QTVZKBN6RSZLNGTMEVSKIRR7AC
ZDN7BJ3JA3VL4AYWX3SV24GHP6NCAETJVAKAXKMIZTLHTWLUNMOQC
ZKAEZKAMMQWPQIV6X2CFQUUOG7RBJOE3MNXLBH4J3ZASUYTCZJAQC
CITEDKPB6MKVZUEYEDE5ZKTNVY35HCOAXKDPYG7YLLEOVFNMSRXQC
UC2L4AE6COAZGVMLTIV4INSNKRT2RGCEE6IRLOBKCBJZ3IV7GCRAC
ZWBKKVT5TX2CSMBVEYZMQ6DLCXVHSD7SWFEKXWK6XKD6RP24MJJAC
RFSCYZWH7VQUGHAM374YUDGZGM5S4KT6NXWDMHXL4767SCRSL2DQC
EXRAFG37562NH775A4LDPP5FNKXLPLIZSJ3FCOBINUDKRFBJHCXAC
UM7DFUYLW4HSMBUDZY3R6ZNJRSX2E75C4DYV3MJAU57EUCGE6JLAC
RQSDP2B2OVRFRJ33OZCVB4TYCQMSR3JZYG7FNA6TQ3HFABTGOGMQC
GZZOJ7ZUSBPI3HXIV5UCFNMCDAMZPPLISY2UDV73FDN74HZ3AWJAC
KCOCFOS6KMCTVS6K3WE6KOQSWC3QNWN2E36ASHQPP3Z3H4BHR3NQC
UB53AXKRDBNRMOXEAJISW7G4IZLBBWIDW2GPHNGQVRBMFLVKWUTQC
W655S25G7CGI4XOZ2PKITKTH26VJ4QMZFRV2RPYNI4KIUJOIGVMAC
HHQUHNVMK5HPDJJ53MBD4IE2TDC3BMQOARPHRQAOO43AWG2LNMOAC
UPPVYBGC7MQBUCAAB6KW3R5KWHGASFTTXVUHEWRNP27SK3CI7UHQC
TOXJRHV7ZUPHWXCA4TAG3YRBTIPUZQ5BNX34D3VD2JAIYLRN6XSAC
A2YH3UCN3AEAXWW7IHTJBBQY4XRBSV2TBOX3N47ZZGKE6L7P7L5AC
NPOFDGQF4CE72IZBT5Y7KPIBHWPPNOEPBYD5RTUHSVUJ2W4XFRVQC
GMOFRJTUHSZVX2U7Z7PVQDY45MQJQ7LTUIHCKHTCJJX2P6UH76ZAC
TI53BDDVHWRE4CCKWD23WO7VR4AMIDZZEXDEKEJY2AUJL2U6PSOQC
BA4YE6QGRTYONATHUP347OFUBUCWXQPNZ6Q5DIQ2DLJLRZJ6AC4AC
LR3QQRO4ZFYYIY4JJ7LJIO4VUK3EWESPIAPLPPIP4W7N75PSVQHQC
BQU6MTEH6QEW5E2HX3F2AAZ54AHIVDVOEE7FTCQTPLO23U5ILFIQC
V2LGTLIQHXMNYYKNNHAOYFLM6S3IU3CSGJLDJBIKMF5UU32DZWVAC
DI4CW2M46SOKHZXATOP6HRLZB3A33FCWRFDQBIJHJY2BEDB537NQC
A7XDW47SJ3ZYWRH64PLNI77XZTVX5FY6NX2LMT33L6BMUH3DYBMQC
VWTWVVRECX62JABUZYFCTCPWTXXT3DB4635RIAGCKIQMGJ7VXRGAC
4WK6FVX6HW5QUQOJ7K6MCHGXZJ4WCP5BFHWKXEGIH4ANR42SRD7QC
3LI5FAF5ULXOWBMTG4XCUOMUPVROSFDY6FWGE574OH4JGPMOPNVAC
F5QLL7RNKWB6DNLUZ7VKGTTYDVCH37YGR26SHZBIVAR37JJMQTXQC
RIKD63GT7RFV3UAV4BYD57GFXKXALWUP6J7AAHB3M6JVAZ3WFTXAC
ZEYYSYM7QBZG4Q67AN3CHYZQWO2DVVHXRAK6NX44UQD6VO3JTK3AC
W5YRNIBZIMTQLOKIBWBF7CHCIOLKXVHV7Y2AIKMKG7GCQSAVZKBAC
LT5DF4XJ7RZIHKUTFXAVVMGMGTEOQA3F2LWK4MGMZM6FPVZXUHBQC
DCAJEW7O2H4N3I5EXTSBH7ALLV452CORUPJT3YQXY7QXQQIFDC4AC
MBJSV73XEUIBF7LU6MUYQJQLCRXYY7LXD7KZZFLLOCEDOKU2EAQAC
JDCRIWCKVBGA2FL7PEIXATYG4INEISAGC7DDY46WPVQTEUB6PBNQC
6KL7TFY4VYQ67TCMYG53KQV55EP6PHHN73BFVW6VSDI27CPHVY6QC
ZZNRZYYTQW73EH2MNFK4IUQ4WY67GZNENHTDQ2MWKD3GZBLNPSMQC
OXKWHQFHTDDOWX3QDMHDWHCT3HFKWQS7Z7DEL3ILJBA7GNITA4GAC
Q3TF6DU36OM4M4A72QPN74NRKH7CZBBKFAKLTJRPL5JD3LI5276QC
K57REEWVDYAN7MA7OWR5CEROK536EK5SW5SVN3MT2J653P36NYZAC
AOQSHDBY3FLBJBFEIJQDYHGQOBECTYRN3KPWJWQMCVWDTB6L2IRQC
VSLQNAQBAGOJC2IV55V3W755UIPN47J4RTCCLCABRFFFUU5LT2JQC
HO72KYBN3DYN6EC2RQUW4YP3CFBSY4X3ULYLFA2HQ36S5QGTGKIQC
K3KDTBCJ2D6AHLKDKSV7KTKXOXO72KZ5CXBVLCYSKDNRCJ3EGDMQC
RF4MODRCRWKMUG26O222X3ZY3MLE6X7BYZDWEQRLVUITTWYAGNUAC
KQXMNV3RMRPSJCQVW4I2HSCFJQ6ZDRLNMJOTQI4MODB6UYA3ONQQC
7JZIPWVKXY3QA5QMTP24WPR7KKMMVXIHAQ4EGHNGCE7H4CRKROCAC
JZK5OKKPI672GJNZPKKC3T35E6CUHBLT62YHCKMODOYDLVHU6BUQC
YMUCHF4MBM4KQ2TBSJKGN5JFPZLTTI43CQETAMAC5K6KKLLVE73AC
WJWASFHAXBNMWHEXMKR53FLXPVUFVT44F2WKSJSA57V2UOZVSOJQC
W2HZHFIDFNDKTZ4CIRTZH6XWWV7KHHRROORVUCDNJQKEDQGUMK4QC
HSOG2FYBIHDIMTG2YARL57AIHOOSG2P7ZXQTE6ZN7PRNEO22VRQQC
SG4SY6W7RKOROSFIHLOS6S57UY6IA5QGSAJV757RTRBPPO6KMAHAC
UEO5OKN446XCE2FHS6GFXYYL2D3YNJD6NI6QLMWO2QZAZKUCL2XQC
4SNDY6U7TDCVRCARTEQ7JLATJFDMUMEFV2GSLKMQJY7RFNPU5HDQC
TJQE7LZGYT5FUB6LR2GGKIV3BHXAAOP2V2SMYNLUNCZNQ4JNF5PAC
R2FB5PBSU5SCGAQ33AKFG5WJ2T2L7ZDA4LDKTIKRMBGVA2ST5YPQC
WCPISJ4XXCQWQTGDUHPSEI6UFTAJHLAU54CAMOXXSVHQPLAV4DEAC
BZSTVYDVHJA3ZMCM3YTU4U5JKJC2JVUDM5APSBIGMSS54J2C4WKQC
62FAY63A6J5JJOX2RHKOWKFCJ6SHAPJT67CQ4ZJ7EXCPH6QVTW5QC
AGFVWZZ7J2QEERRJTTPOJW7AVMCN6RIUUBW4PUUICUOFCWMKCXEQC
QHM7TVRG4QX2IU2VW2G4GDGCE2PZ7HKRIHMF3BEBGND2BHZ5ANGQC
TVNP3QMGLXAKM4ESJ46RO7JR5AOVQDEVHSQOAGBZMR4UPMYKDPNQC
[![Build Status](https://api.travis-ci.com/dtolnay/anyhow.svg?branch=master)](https://travis-ci.com/dtolnay/anyhow)
[![Latest Version](https://img.shields.io/crates/v/anyhow.svg)](https://crates.io/crates/anyhow)
[![Rust Documentation](https://img.shields.io/badge/api-rustdoc-blue.svg)](https://docs.rs/anyhow)
[![Build Status](https://api.travis-ci.com/dtolnay/eyre.svg?branch=master)](https://travis-ci.com/dtolnay/eyre)
[![Latest Version](https://img.shields.io/crates/v/eyre.svg)](https://crates.io/crates/eyre)
[![Rust Documentation](https://img.shields.io/badge/api-rustdoc-blue.svg)](https://docs.rs/eyre)
- One-off error messages can be constructed using the `anyhow!` macro, which
supports string interpolation and produces an `anyhow::Error`.
- One-off error messages can be constructed using the `eyre!` macro, which
supports string interpolation and produces an `eyre::Error`.
// When anyhow! is given a single expr argument to turn into anyhow::Error, we
// want the resulting Error to pick up the input's implementation of source()
// When eyre! is given a single expr argument to turn into eyre::ErrReport, we
// want the resulting ErrReport to pick up the input's implementation of source()
//! - One-off error messages can be constructed using the `anyhow!` macro, which
//! supports string interpolation and produces an `anyhow::Error`.
//! - One-off error messages can be constructed using the `eyre!` macro, which
//! supports string interpolation and produces an `eyre::ErrReport`.
//! `std::error::Error` trait which is only available through std, no_std mode
//! will require an explicit `.map_err(Error::msg)` when working with a
//! `std::error::ErrReport` trait which is only available through std, no_std mode
//! will require an explicit `.map_err(ErrReport::msg)` when working with a
/// - `Error` requires that the error is `Send`, `Sync`, and `'static`.
/// - `Error` guarantees that a backtrace is available, even if the underlying
/// - `ErrReport` requires that the error is `Send`, `Sync`, and `'static`.
/// - `ErrReport` guarantees that a backtrace is available, even if the underlying
/// 2: anyhow::context::<impl anyhow::Context<T,E> for core::result::Result<T,E>>::with_context
/// at /git/anyhow/src/context.rs:58
/// 2: eyre::context::<impl eyre::Context<T,E> for core::result::Result<T,E>>::with_context
/// at /git/eyre/src/context.rs:58
= note: the method `anyhow_kind` exists but the following trait bounds were not satisfied:
`&Error : anyhow::kind::AdhocKind`
`&Error : anyhow::kind::TraitKind`
`Error : anyhow::kind::TraitKind`
= note: the method `eyre_kind` exists but the following trait bounds were not satisfied:
`&Error : eyre::kind::AdhocKind`
`&Error : eyre::kind::TraitKind`
`Error : eyre::kind::TraitKind`
= note: the following traits define an item `anyhow_kind`, perhaps you need to implement one of them:
candidate #1: `anyhow::kind::AdhocKind`
candidate #2: `anyhow::kind::TraitKind`
candidate #3: `anyhow::kind::BoxedKind`
= note: the following traits define an item `eyre_kind`, perhaps you need to implement one of them:
candidate #1: `eyre::kind::AdhocKind`
candidate #2: `eyre::kind::TraitKind`
candidate #3: `eyre::kind::BoxedKind`