[][src]Enum vasp_poscar::ValidationError

pub enum ValidationError {
    NewlineInComment,
    InvalidSymbol(Option<String>),
    NoAtoms,
    BadScaleLine,
    InconsistentNumGroups,
    WrongLength(&'static strusize),
    // some variants omitted
}

Covers all the reasons why RawPoscar::validate might get mad at you.

Beyond checking obvious problems like mismatched lengths, these limitations also exist to ensure that a Poscar can be roundtripped through its file representation.

The variants are public so that by looking at the docs you can see all the possible errors. That said, you have no good reason to write code that matches on this.

...right?

Variants

NewlineInComment

The comment line is more than one line.

InvalidSymbol(Option<String>)

A requirement on group_symbols was violated.

There are a few more restrictions in addition to the no-leading-digit restriction mentioned in format.md, in order to ensure roundtripping:

  • A symbol may not be the empty string
  • A symbol may not contain whitespace
NoAtoms

Poscar is required to have at least one atom.

BadScaleLine

The inner value in the scale line must be positive.

InconsistentNumGroups

Mismatch between group_counts and group_symbols lengths.

WrongLength(&'static strusize)

Length of a member is incorrect.

Trait Implementations

impl Debug for ValidationError[src]

impl Display for ValidationError[src]

impl Fail for ValidationError[src]

fn context<D>(self, context: D) -> Context<D> where
    D: Display + Send + Sync + 'static, 
[src]

Provides context for this failure. Read more

fn compat(self) -> Compat<Self>[src]

Wraps this failure in a compatibility wrapper that implements std::error::Error. Read more

Auto Trait Implementations

Blanket Implementations

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

impl<T> ToString for T where
    T: Display + ?Sized
[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.

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

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

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

impl<T> AsFail for T where
    T: Fail
[src]

impl<E> Fail for E where
    E: 'static + Error + Send + Sync
[src]

fn name(&self) -> Option<&str>[src]

Returns the "name" of the error. Read more

fn cause(&self) -> Option<&(dyn Fail + 'static)>[src]

Returns a reference to the underlying cause of this failure, if it is an error that wraps other errors. Read more

fn backtrace(&self) -> Option<&Backtrace>[src]

Returns a reference to the Backtrace carried by this failure, if it carries one. Read more

fn context<D>(self, context: D) -> Context<D> where
    D: Display + Send + Sync + 'static, 
[src]

Provides context for this failure. Read more

fn compat(self) -> Compat<Self>[src]

Wraps this failure in a compatibility wrapper that implements std::error::Error. Read more