use thiserror::Error;
use crate::ast::PartialValueToValueError;
use crate::tpe::err::{EntitiesError, MissingEntitiesError, PartialRequestError, TpeError};
use crate::validator::RequestValidationError;
#[derive(Debug, Error)]
#[non_exhaustive]
pub enum BatchedEvalError {
#[error(transparent)]
TPE(#[from] TpeError),
#[error(transparent)]
RequestValidation(#[from] RequestValidationError),
#[error(transparent)]
PartialRequest(#[from] PartialRequestError),
#[error(transparent)]
Entities(#[from] EntitiesError),
#[error(transparent)]
PartialValueToValue(#[from] PartialValueToValueError),
#[error(transparent)]
MissingEntities(#[from] MissingEntitiesError),
#[error(transparent)]
InsufficientIterations(#[from] InsufficientIterationsError),
}
#[derive(Debug, Error)]
#[error("Batched evaluation failed: insufficient iteration limit.")]
pub struct InsufficientIterationsError {}