diff --git a/naga/src/span.rs b/naga/src/span.rs index 7c1ce17dca..3196fb9fe5 100644 --- a/naga/src/span.rs +++ b/naga/src/span.rs @@ -325,32 +325,6 @@ pub(crate) trait AddSpan: Sized { fn with_span_handle>(self, handle: Handle, arena: &A) -> Self::Output; } -/// Trait abstracting over getting a span from an [`Arena`] or a [`UniqueArena`]. -pub(crate) trait SpanProvider { - fn get_span(&self, handle: Handle) -> Span; - fn get_span_context(&self, handle: Handle) -> SpanContext { - match self.get_span(handle) { - x if !x.is_defined() => (Default::default(), "".to_string()), - known => ( - known, - format!("{} {:?}", std::any::type_name::(), handle), - ), - } - } -} - -impl SpanProvider for Arena { - fn get_span(&self, handle: Handle) -> Span { - self.get_span(handle) - } -} - -impl SpanProvider for UniqueArena { - fn get_span(&self, handle: Handle) -> Span { - self.get_span(handle) - } -} - impl AddSpan for E where E: Error, @@ -377,6 +351,32 @@ where } } +/// Trait abstracting over getting a span from an [`Arena`] or a [`UniqueArena`]. +pub(crate) trait SpanProvider { + fn get_span(&self, handle: Handle) -> Span; + fn get_span_context(&self, handle: Handle) -> SpanContext { + match self.get_span(handle) { + x if !x.is_defined() => (Default::default(), "".to_string()), + known => ( + known, + format!("{} {:?}", std::any::type_name::(), handle), + ), + } + } +} + +impl SpanProvider for Arena { + fn get_span(&self, handle: Handle) -> Span { + self.get_span(handle) + } +} + +impl SpanProvider for UniqueArena { + fn get_span(&self, handle: Handle) -> Span { + self.get_span(handle) + } +} + /// Convenience trait for [`Result`], adding a [`MapErrWithSpan::map_err_inner`] /// mapping to [`WithSpan::and_then`]. pub trait MapErrWithSpan: Sized {