Skip to main content

PIPELINE_RECEIVERS

Constant PIPELINE_RECEIVERS 

Source
pub const PIPELINE_RECEIVERS: &[CollectionCtor];
Expand description

The collection constructors a TypePattern::Iterable receiver accepts (ADR-127 decision 1) — the for loop’s list minus Grid and Seq.

Grid[T] is excluded, and grid.map is why. §6.4 requires grid.map(fn) and it means the shape-preserving one, Grid[T] -> Grid[U], cells in place. A generic row would claim the name and answer Vec[U] instead. A grid enters a pipeline through grid.cells() or grid.positions(), which already answer Vecs. The exclusion is enforced rather than intended: MethodCatalogBuilder::finish refuses a concrete row that shares a (name, arity) with a generic one on a receiver in this list, so a future Grid[T].map/1 is allowed and a Set[T].map/1 is a build failure.

Seq[T] is excluded because it has no values. praxis-repr says a Seq has no runtime representation, and nothing produces or consumes one (ADR-127).

Text is the tenth receiver and is not here, because it is not a collection: it is the one scalar with members (§4.13). is_pipeline_receiver is the predicate that answers for all ten.