MCPcopy Create free account
hub / github.com/hashintel/hash / eyre_backtrace

Function eyre_backtrace

libs/error-stack/tests/test_compatibility.rs:168–190  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

166#[cfg(all(nightly, feature = "eyre", feature = "backtrace"))]
167#[ignore = "bug: `eyre` currently does not provide a backtrace`"]
168fn eyre_backtrace() {
169 install_eyre_hook();
170
171 let error = eyre::eyre!("test error");
172 let error_backtrace =
173 error::request_ref::<std::backtrace::Backtrace>(error.as_ref() as &dyn error::Error)
174 .expect("no backtrace captured");
175 let error_backtrace_len = error_backtrace.frames().len();
176 let error_backtrace_string = error_backtrace.to_string();
177
178 let report: Report<eyre::Error> = Err::<(), _>(error)
179 .into_report()
180 .expect_err("should have returned error");
181 let report_backtrace = report
182 .request_ref::<std::backtrace::Backtrace>()
183 .next()
184 .expect("No backtrace captured");
185 let report_backtrace_len = report_backtrace.frames().len();
186 let report_backtrace_string = report_backtrace.to_string();
187
188 assert_eq!(error_backtrace_len, report_backtrace_len);
189 assert_eq!(error_backtrace_string, report_backtrace_string);
190}
191
192#[test]
193#[cfg(feature = "eyre")]

Callers

nothing calls this directly

Calls 7

install_eyre_hookFunction · 0.85
framesMethod · 0.80
expectMethod · 0.45
as_refMethod · 0.45
lenMethod · 0.45
into_reportMethod · 0.45
nextMethod · 0.45

Tested by

no test coverage detected