[][src]Struct libslide::partial_evaluator::errors::IncompatibleDefinitions

pub(crate) struct IncompatibleDefinitions;

This error is fired on variable definitions provided to a slide program that can never be compatible. For example, given the program

a := 1
a := 12 - 10

"a" is defined as "1" and "2" simultaneously, which are incompatible definitions.

This error is only fired when slide is able to statically detect incompatibility of defintions. For example, without having information on what "c" is defined as, the program

a := c
a := 2c

would not have an incompatible definitions error, because the program is valid when "c = 0". However, if slide knew about that value of "c", as it would in the program

a := c
a := 2c
c := 1

an incompatible definitions error could now be fired on the two definitions of "a".

Trait Implementations

impl DiagnosticRecord for IncompatibleDefinitions[src]

Auto Trait Implementations

impl RefUnwindSafe for IncompatibleDefinitions

impl Send for IncompatibleDefinitions

impl Sync for IncompatibleDefinitions

impl Unpin for IncompatibleDefinitions

impl UnwindSafe for IncompatibleDefinitions

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.