rinq 0.1.0

Type-safe, zero-cost LINQ-inspired query engine for Rust — filter, sort, aggregate, window analytics, parallel execution, and statistical extensions.
Documentation
//! Stable internal API for code generated by `rinq-syntax`.
//!
//! # Stability
//!
//! These functions form a stable ABI layer between `rinq-syntax`-generated code
//! and `rinq` internals.  If an underlying `QueryBuilder` method is renamed or
//! restructured, only this module needs to change — the generated code remains
//! identical.  When a breaking change is unavoidable, the old signature MUST be
//! kept with `#[deprecated]` for at least one minor version before removal.
//!
//! **Do not call these functions directly.**  They are `pub` only so that
//! code generated by `rinq-syntax` can reach them.

use crate::{Initial, QueryBuilder};

/// Entry point: creates a `QueryBuilder` from any iterable source.
///
/// Equivalent to `QueryBuilder::from(source)`, but provides a stable call
/// site that `rinq-syntax` can depend on without coupling to internal details.
#[doc(hidden)]
#[inline]
pub fn from<T, I>(source: I) -> QueryBuilder<T, Initial>
where
    T: 'static,
    I: IntoIterator<Item = T> + 'static,
    I::IntoIter: 'static,
{
    QueryBuilder::from(source)
}