Trait ConventionMarker

Source
pub trait ConventionMarker:
    'static
    + Sized
    + Clone
    + Debug
    + Eq
    + PartialEq
    + Hash {
    type Extra: 'static + Eq + Hash + Clone + Debug;
    type ShareNode: ShareNode<Self>;
    type PlanRefDyn: PlanNodeCommon<Self> + Eq + Hash + ?Sized;
    type PlanNodeType;

    // Required method
    fn as_share(plan: &Self::PlanRefDyn) -> Option<&Self::ShareNode>;
}
Expand description

A marker trait for different conventions, used for enforcing type safety.

Implementors are Logical, Batch, and Stream.

Required Associated Types§

Source

type Extra: 'static + Eq + Hash + Clone + Debug

The extra fields in the PlanBase of this convention.

Source

type ShareNode: ShareNode<Self>

Source

type PlanRefDyn: PlanNodeCommon<Self> + Eq + Hash + ?Sized

Source

type PlanNodeType

Required Methods§

Source

fn as_share(plan: &Self::PlanRefDyn) -> Option<&Self::ShareNode>

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.

Implementors§