pub trait AsLogicalPlan:
Debug
+ Send
+ Sync
+ Clone {
// Required methods
fn try_decode(buf: &[u8]) -> Result<Self>
where Self: Sized;
fn try_encode<B>(&self, buf: &mut B) -> Result<()>
where B: BufMut,
Self: Sized;
fn try_into_logical_plan(
&self,
ctx: &TaskContext,
extension_codec: &dyn LogicalExtensionCodec,
) -> Result<LogicalPlan>;
fn try_from_logical_plan(
plan: &LogicalPlan,
extension_codec: &dyn LogicalExtensionCodec,
) -> Result<Self>
where Self: Sized;
}Required Methods§
fn try_decode(buf: &[u8]) -> Result<Self>where
Self: Sized,
fn try_encode<B>(&self, buf: &mut B) -> Result<()>
fn try_into_logical_plan( &self, ctx: &TaskContext, extension_codec: &dyn LogicalExtensionCodec, ) -> Result<LogicalPlan>
fn try_from_logical_plan(
plan: &LogicalPlan,
extension_codec: &dyn LogicalExtensionCodec,
) -> Result<Self>where
Self: Sized,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.