From a0f465ba7392fb08676807b14df40c009a2c8d4b Mon Sep 17 00:00:00 2001 From: "Makogan (Makogan)" Date: Wed, 24 Apr 2024 19:45:48 -0500 Subject: [PATCH] Remove SimdVisitorWithContext default trait implementation Removed because `SimdVisitor`'s default implementation causes issues. It will be automatically implemented for types that may want to implement `SimdVisitorWithContext` and thus cause them to automatically implement the default trait implementation. Since there can only be one trait implementation per type, this effectively prevents the use of the new trait. --- src/partitioning/visitor.rs | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/src/partitioning/visitor.rs b/src/partitioning/visitor.rs index 7b9c8f83..5d9b899b 100644 --- a/src/partitioning/visitor.rs +++ b/src/partitioning/visitor.rs @@ -94,21 +94,6 @@ pub trait SimdVisitorWithContext { ) -> (SimdVisitStatus, [Context; SIMD_WIDTH]); } -impl SimdVisitorWithContext for T -where - T: SimdVisitor, -{ - fn visit( - &mut self, - bv: &SimdBV, - data: Option<[Option<&LeafData>; SIMD_WIDTH]>, - context: Context, - ) -> (SimdVisitStatus, [Context; SIMD_WIDTH]) { - let contexts = std::array::from_fn(|_| context.clone()); - (self.visit(bv, data), contexts) - } -} - /// Trait implemented by visitor called during a simultaneous spatial partitioning data structure tarversal. pub trait SimdSimultaneousVisitor { /// Execute an operation on the content of two nodes, one from each structure.