[][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]

Auto Trait Implementations

Blanket Implementations

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

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

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

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

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

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

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

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