Skip to main content

churust_lab/
lib.rs

1//! Experimental extractors and middleware for Churust.
2//!
3//! # This crate will never reach 1.0
4//!
5//! That is the point, not an oversight. Ideas that are worth trying in public
6//! but not worth freezing into `churust-core`'s API live here first. Expect
7//! breaking changes on most releases, and do not build anything you cannot
8//! afford to edit.
9//!
10//! # How something graduates
11//!
12//! When an item earns its place it moves into `churust-core` (or the relevant
13//! plugin crate) and the copy here is **deprecated rather than deleted**, so a
14//! user migrates by dropping the `churust_lab::` prefix rather than by
15//! discovering at compile time that it vanished. The deprecated item stays for
16//! at least one release after graduation.
17//!
18//! # Versioning
19//!
20//! This crate shares the workspace version with every other Churust crate, so
21//! its number moves in lockstep even though its stability promise does not.
22//! **That is a deliberate decision, and it has an expiry:** when the rest of the
23//! workspace approaches 1.0, this crate must be exempted from `shared-version`
24//! and pinned to a `0.x` line of its own. Doing it now would complicate the
25//! release tooling for no benefit while everything is `0.x` anyway; leaving it
26//! unrecorded is how a crate accidentally ships a 1.0 it never meant to promise.
27
28#![deny(missing_docs)]
29
30mod body_limit;
31
32pub use body_limit::BodyLimit;