pub use OperonService;
use crate;
/// A type-carrier trait for validating the service type.
/// This trait **should not** be implemented manually; the derive macro
/// [`#[derive(OperonService)]`](derive@crate::OperonService) is the only correct way to implement
/// it.
/// The derive takes `#[operon(error = MyError)]`, `#[operon(defined_at = "path")]`, and
/// `#[operon(crate = "path")]`.
///
/// Along with the `{PipelineName}Service` trait that [`define_operon!`](crate::define_operon)
/// generates, this trait provides the scheduler with the information it needs to execute the
/// pipeline.