Trait FnMarkerAggr

Source
pub trait FnMarkerAggr<Other: FnMarker>: FnMarker {
    type Output: FnMarker;
}
Expand description

Trait for aggregating function markers.

This trait is used to combine function markers from different sources (environment, activation, etc.) to determine the overall function capabilities of a context.

§Type Parameters

  • Other - The other function marker to aggregate with

§Associated Types

  • Output - The resulting function marker after aggregation

§Examples

use cel_cxx::marker::{FnMarker, FnMarkerAggr};

fn aggregate_example<F1, F2>()
where
    F1: FnMarker + FnMarkerAggr<F2>,
    F2: FnMarker,
{
    // F1::Output represents the combined capabilities
}

Required Associated Types§

Source

type Output: FnMarker

The resulting function marker after aggregation.

Implementations on Foreign Types§

Source§

impl FnMarkerAggr<Async> for ()

Available on crate feature async only.

Aggregating async with sync yields async.

When asynchronous and synchronous capabilities are combined, the result supports asynchronous operations.

Source§

impl FnMarkerAggr<()> for ()

Synchronous function aggregation.

Aggregating with synchronous functions yields synchronous functions.

Implementors§

Source§

impl FnMarkerAggr<Async> for Async

Available on crate feature async only.

Aggregating async with async yields async.

Combining two async contexts remains async.

Source§

impl FnMarkerAggr<()> for Async

Available on crate feature async only.

Aggregating sync with async yields async.

When synchronous and asynchronous capabilities are combined, the result supports asynchronous operations.