mirror of
https://github.com/gfx-rs/wgpu.git
synced 2026-04-22 03:02:01 -04:00
keep internal AddSpan trait & impl together
This commit is contained in:
committed by
Connor Fitzgerald
parent
ea4d18c108
commit
d7ed0c5290
@@ -325,32 +325,6 @@ pub(crate) trait AddSpan: Sized {
|
||||
fn with_span_handle<T, A: SpanProvider<T>>(self, handle: Handle<T>, arena: &A) -> Self::Output;
|
||||
}
|
||||
|
||||
/// Trait abstracting over getting a span from an [`Arena`] or a [`UniqueArena`].
|
||||
pub(crate) trait SpanProvider<T> {
|
||||
fn get_span(&self, handle: Handle<T>) -> Span;
|
||||
fn get_span_context(&self, handle: Handle<T>) -> SpanContext {
|
||||
match self.get_span(handle) {
|
||||
x if !x.is_defined() => (Default::default(), "".to_string()),
|
||||
known => (
|
||||
known,
|
||||
format!("{} {:?}", std::any::type_name::<T>(), handle),
|
||||
),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<T> SpanProvider<T> for Arena<T> {
|
||||
fn get_span(&self, handle: Handle<T>) -> Span {
|
||||
self.get_span(handle)
|
||||
}
|
||||
}
|
||||
|
||||
impl<T> SpanProvider<T> for UniqueArena<T> {
|
||||
fn get_span(&self, handle: Handle<T>) -> Span {
|
||||
self.get_span(handle)
|
||||
}
|
||||
}
|
||||
|
||||
impl<E> 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<T> {
|
||||
fn get_span(&self, handle: Handle<T>) -> Span;
|
||||
fn get_span_context(&self, handle: Handle<T>) -> SpanContext {
|
||||
match self.get_span(handle) {
|
||||
x if !x.is_defined() => (Default::default(), "".to_string()),
|
||||
known => (
|
||||
known,
|
||||
format!("{} {:?}", std::any::type_name::<T>(), handle),
|
||||
),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<T> SpanProvider<T> for Arena<T> {
|
||||
fn get_span(&self, handle: Handle<T>) -> Span {
|
||||
self.get_span(handle)
|
||||
}
|
||||
}
|
||||
|
||||
impl<T> SpanProvider<T> for UniqueArena<T> {
|
||||
fn get_span(&self, handle: Handle<T>) -> Span {
|
||||
self.get_span(handle)
|
||||
}
|
||||
}
|
||||
|
||||
/// Convenience trait for [`Result`], adding a [`MapErrWithSpan::map_err_inner`]
|
||||
/// mapping to [`WithSpan::and_then`].
|
||||
pub trait MapErrWithSpan<E, E2>: Sized {
|
||||
|
||||
Reference in New Issue
Block a user