A quick multiple-choice check before you move on. Answer every question, then submit to see how you did.
1.For an anyhow::Error value e that was built by attaching .context("loading settings") on top of an underlying io::Error, what does eprintln!("{e}") (Display) print compared to eprintln!("{e:?}") (Debug)?
2.In a thiserror enum, what is the difference between annotating a field with #[from] versus a bare #[source]?
3.What does the #[error(transparent)] attribute do to a thiserror enum variant?
4.A C# developer notes that in .NET every thrown exception always carries a stack trace. How does Rust's anyhow differ regarding backtraces?
5.According to the theory, which macro produces an anyhow::Error as a plain value without returning or throwing from the current function?