Enum melodium_engine::error::logic_error::LogicErrorKind
source · pub enum LogicErrorKind {
Show 38 variants
CollectionUndefined,
UncommitedDescriptor {
identifier: Identifier,
},
NoDesigner {
identifier: Identifier,
},
ErroneousDesign {
identifier: Identifier,
},
ErroneousChecks,
UnavailableDesign {
identifier: Identifier,
},
UnexistingVariable {
identifier: Identifier,
parameter: String,
variable: String,
},
UnexistingContextVariable {
identifier: Identifier,
parameter: String,
context: Identifier,
variable: String,
},
UnexistingParameter {
scope: Identifier,
called: Identifier,
parameter: String,
},
UnmatchingDataType {
scope: Identifier,
called: Identifier,
parameter: String,
value: Value,
expected: DataType,
given: DataType,
},
UnsetParameter {
scope: Identifier,
called: Identifier,
parameter: String,
},
MultipleParameterAssignation {
scope: Identifier,
called: Identifier,
parameter: String,
},
NoValue {
scope: Identifier,
called: Identifier,
parameter: String,
},
NoContext {
scope: Identifier,
model: Identifier,
name: String,
parameter: String,
},
UnavailableContext {
scope: Identifier,
context: Identifier,
},
ConnectionInputNotFound {
scope: Identifier,
to: Identifier,
input: String,
},
ConnectionSelfInputNotFound {
scope: Identifier,
input: String,
},
ConnectionOutputNotFound {
scope: Identifier,
from: Identifier,
output: String,
},
ConnectionSelfOutputNotFound {
scope: Identifier,
output: String,
},
UnexistingTreatment {
scope: Identifier,
claimed: Identifier,
},
UnexistingModel {
scope: Identifier,
claimed: Identifier,
},
UnexistingContext {
scope: Identifier,
claimed: Identifier,
},
UnexistingFunction {
scope: Identifier,
claimed: Identifier,
},
UndeclaredModel {
scope: Identifier,
model: String,
},
UndeclaredTreatment {
scope: Identifier,
treatment: String,
},
UnexistingConnectionType {
scope: Identifier,
from: String,
output: String,
to: String,
input: String,
output_flow: Flow,
output_type: DataType,
input_flow: Flow,
input_type: DataType,
},
UnsatisfiedOutput {
scope: Identifier,
output: String,
},
OverloadedOutput {
scope: Identifier,
output: String,
},
UnmatchingModelType {
scope: Identifier,
called: Identifier,
name: String,
expected: Identifier,
given_name: String,
given: Identifier,
},
UnexistingParametricModel {
scope: Identifier,
called: Identifier,
parametric_model: String,
},
UnsetModel {
scope: Identifier,
called: Identifier,
parametric_model: String,
},
AlreadyIncludedBuildStep {
treatment: Identifier,
cause_step: CheckStep,
check_steps: Vec<CheckStep>,
},
UnsatisfiedInput {
scope: Option<Identifier>,
treatment: String,
input: String,
},
ConstRequiredVarProvided {
scope: Identifier,
called: Identifier,
parameter: String,
variable: String,
},
ConstRequiredContextProvided {
scope: Identifier,
called: Identifier,
parameter: String,
context: Identifier,
entry: String,
},
ModelInstanciationConstOnly {
scope: Identifier,
called: Identifier,
name: String,
parameter: String,
},
ConstRequiredFunctionReturnsVar {
scope: Identifier,
called: Identifier,
parameter: String,
function: Identifier,
},
UnmatchingNumberOfParameters {
scope: Identifier,
function: Identifier,
},
}Expand description
Kind of logic error that might happen.
Variants§
CollectionUndefined
Designer do not have collection defined.
UncommitedDescriptor
Fields
identifier: IdentifierDescriptor has not been commited, no designer available yet.
NoDesigner
Fields
identifier: IdentifierNo designer to commit from.
ErroneousDesign
Fields
identifier: IdentifierDesign have some errors, while pure success is expected.
ErroneousChecks
Checks hasn’t all been sucessful, while pure sucess is expected.
No design available.
UnexistingVariable
The referenced variable for value doesn’t exist.
UnexistingContextVariable
The referenced context variable for value doesn’t exist.
UnexistingParameter
The designated parameter doesn’t exist in descriptor.
UnmatchingDataType
The value datatype doesn’t match the required one.
UnsetParameter
A parameter hasn’t been set up compared to descriptor.
MultipleParameterAssignation
A parameter is assigned multiple times.
NoValue
A parameter didn’t get any value.
NoContext
No context reference is allowed there.
The context referenced is not available in this scope.
ConnectionInputNotFound
The connection input data is not provided by input treatment.
ConnectionSelfInputNotFound
The connection input data is not provided in self inputs.
ConnectionOutputNotFound
The connection output data is not provided by output treatment.
ConnectionSelfOutputNotFound
The connection output data is not provided in self outputs.
UnexistingTreatment
The treatment is not existing within current available treatments.
UnexistingModel
The model is not existing within current available models.
UnexistingContext
The context is not existing within current available contextes.
UnexistingFunction
The function is not existing within current available functions.
UndeclaredModel
The model is not declared here.
UndeclaredTreatment
The treatment is not declared here.
UnexistingConnectionType
Fields
scope: IdentifierThe connection type is not existing within current available connections.
UnsatisfiedOutput
The sequence output is not currently satisfied, not connected to any treatment output.
OverloadedOutput
The sequence output is overloaded, having multiple treatment outputs connected to.
UnmatchingModelType
The (core) model type does not match.
UnexistingParametricModel
There are no matching pararmetric model.
UnsetModel
A model hasn’t been set up compared to descriptor.
AlreadyIncludedBuildStep
The build step is already included in the call stack, meaning there is an infinite call loop.
UnsatisfiedInput
The treatment input in not satisfied
ConstRequiredVarProvided
A constant is required but the value assigned is variable
ConstRequiredContextProvided
A constant is required but a context is provided
ModelInstanciationConstOnly
A model instanciation can only have const assignations
ConstRequiredFunctionReturnsVar
A function returns var when const is expected, due to a var parameter
UnmatchingNumberOfParameters
A function doesn’t get the right number of parameters
Trait Implementations§
source§impl Clone for LogicErrorKind
impl Clone for LogicErrorKind
source§fn clone(&self) -> LogicErrorKind
fn clone(&self) -> LogicErrorKind
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for LogicErrorKind
impl Debug for LogicErrorKind
Auto Trait Implementations§
impl !RefUnwindSafe for LogicErrorKind
impl Send for LogicErrorKind
impl Sync for LogicErrorKind
impl Unpin for LogicErrorKind
impl !UnwindSafe for LogicErrorKind
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
source§fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.source§fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>
fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.