Enum ValidationError

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

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 str, usize)

Length of a member is incorrect.

Trait Implementations§

Source§

impl Debug for ValidationError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for ValidationError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Fail for ValidationError

Source§

fn name(&self) -> Option<&str>

Returns the “name” of the error. Read more
Source§

fn cause(&self) -> Option<&dyn Fail>

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

fn backtrace(&self) -> Option<&Backtrace>

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

fn context<D>(self, context: D) -> Context<D>
where D: Display + Send + Sync + 'static, Self: Sized,

Provides context for this failure. Read more
Source§

fn compat(self) -> Compat<Self>
where Self: Sized,

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

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AsFail for T
where T: Fail,

Source§

fn as_fail(&self) -> &(dyn Fail + 'static)

Converts a reference to Self into a dynamic trait object of Fail.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.