fix(context): get labels/snippets working when using .context()

This commit is contained in:
Kat Marchán 2021-09-21 21:59:57 -07:00
parent db637a366b
commit 41cb710a7d
2 changed files with 24 additions and 0 deletions

View File

@ -144,6 +144,14 @@ where
fn labels<'a>(&'a self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + 'a>> {
self.error.labels()
}
fn source_code(&self) -> Option<&dyn crate::SourceCode> {
self.error.source_code()
}
fn related<'a>(&'a self) -> Option<Box<dyn Iterator<Item = &'a dyn Diagnostic> + 'a>> {
self.error.related()
}
}
impl<D> Diagnostic for ContextError<D, Report>
@ -169,6 +177,14 @@ where
fn labels<'a>(&'a self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + 'a>> {
self.error.inner.diagnostic().labels()
}
fn source_code(&self) -> Option<&dyn crate::SourceCode> {
self.error.source_code()
}
fn related<'a>(&'a self) -> Option<Box<dyn Iterator<Item = &'a dyn Diagnostic> + 'a>> {
self.error.related()
}
}
struct Quoted<D>(D);

View File

@ -94,6 +94,14 @@ impl Diagnostic for BoxedError {
fn labels<'a>(&'a self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + 'a>> {
self.0.labels()
}
fn source_code(&self) -> Option<&dyn miette::SourceCode> {
self.0.source_code()
}
fn related<'a>(&'a self) -> Option<Box<dyn Iterator<Item = &'a dyn Diagnostic> + 'a>> {
self.0.related()
}
}
impl Debug for BoxedError {