use crate::builder::descriptors::Connection;
#[derive(Debug, Eq, PartialEq)]
pub enum InvalidConnection {
InvalidFromNode,
InvalidFromOutputSocket,
InvalidToNode,
InvalidToInputSocket,
}
#[derive(Debug, Eq, PartialEq)]
pub struct InputSocket<Id> {
pub node: Id,
pub socket_index: usize,
}
#[derive(Debug, Eq, PartialEq)]
pub enum BuildError<Id> {
InvalidConnection(Connection<Id>, InvalidConnection),
TypeMismatch(Connection<Id>),
MissingInput(InputSocket<Id>),
MultipleInputs(InputSocket<Id>),
CircularDependencies(Vec<Connection<Id>>),
}