diff --git a/src/trace_impls.rs b/src/trace_impls.rs index c9d3abc..8a0d688 100644 --- a/src/trace_impls.rs +++ b/src/trace_impls.rs @@ -86,59 +86,14 @@ mod tuples { mod boxed { use super::*; - impl Trace for Box { - fn trace(&self, tracer: &mut Tracer) { - self.as_ref().trace(tracer); - } - - #[inline] - fn is_type_tracked() -> bool { - T::is_type_tracked() - } - - fn as_any(&self) -> Option<&dyn Any> { - Some(self) - } - } - - impl Trace for Box { - fn trace(&self, tracer: &mut Tracer) { - self.as_ref().trace(tracer); - } - - #[inline] - fn is_type_tracked() -> bool { - // Trait objects can have complex non-atomic structure. - true - } - - fn as_any(&self) -> Option<&dyn Any> { - Some(self) - } - } - - impl Trace for Box { - fn trace(&self, tracer: &mut Tracer) { - self.as_ref().trace(tracer); - } - - #[inline] - fn is_type_tracked() -> bool { - true - } - - fn as_any(&self) -> Option<&dyn Any> { - Some(self) - } - } - - impl Trace for Box { + impl Trace for Box { fn trace(&self, tracer: &mut Tracer) { self.as_ref().trace(tracer); } #[inline] fn is_type_tracked() -> bool { + // T can be `dyn _` which can have complex non-atomic structure. true }