a3s-orm 0.2.1

A type-safe, executor-neutral SQL query builder for Rust
Documentation
use std::marker::PhantomData;

use crate::ast::{CteNode, SelectNode};
use crate::schema::Table;

#[derive(Clone, Debug)]
pub struct Cte<T: Table> {
    pub(crate) node: CteNode,
    marker: PhantomData<fn() -> T>,
}

impl<T: Table> Cte<T> {
    pub(crate) fn new(query: SelectNode) -> Self {
        Self {
            node: CteNode {
                name: T::NAME,
                query: Box::new(query),
            },
            marker: PhantomData,
        }
    }
}