pub enum SmilesError {
Show 43 variants
BondInBracket(Bond),
ChargeOverflow(i8),
ChargeUnderflow(i8),
DuplicateEdge(usize, usize),
ElementRequiresBrackets,
ElementsRs(Error),
EmptyBranch,
IncompleteBond(BondDescriptor),
InvalidAromaticElement(Element),
InvalidBond,
InvalidBranch,
InvalidChirality,
InvalidClass,
InvalidElementName(char),
HydrogenCountOverflow(u8),
InvalidHydrogenWithExplicitHydrogensFound,
InvalidIsotope,
InvalidNonBondToken,
InvalidNumber,
IntegerOverflow,
InvalidUnbracketedAtom(AtomSymbol),
InvalidRingNumber,
MissingBracketElement,
MissingElement,
NodeIdInvalid(usize),
NonBondInBracket,
RingNumberOverflow(u32),
SelfLoopEdge(usize),
UnexpectedBracketedState,
UnexpectedEndOfString,
UnexpectedCharacter(char),
UnexpectedUnicodeCharacter,
UnexpectedColon,
UnexpectedDash,
UnexpectedPercent,
UnexpectedLeftBracket,
UnexpectedLeftParentheses,
UnexpectedRightBracket,
UnexpectedRightParentheses,
WildcardAtomNotAllowed,
UnclosedBracket,
UnclosedBranch,
UnclosedRing,
}Expand description
The errors that could occur during SMILES parsing.
Variants§
BondInBracket(Bond)
Bond Inside Bracket
ChargeOverflow(i8)
A charge is over the allowed maximum (15)
ChargeUnderflow(i8)
A charge is below allowed minimum (-15)
DuplicateEdge(usize, usize)
A duplicate edge between two nodes has been found
ElementRequiresBrackets
A non bare element found outside of brackets
ElementsRs(Error)
Wrapper for element_rs errors
EmptyBranch
A branch without any nodes has been parsed
IncompleteBond(BondDescriptor)
A bond was not able to bind two atoms
InvalidAromaticElement(Element)
Element forbidden to be written as aromatic here
InvalidBond
A bond is not in a valid position, such as outside of a branch start or next to another bond
InvalidBranch
A branch is invalid, missing an atom
InvalidChirality
Specified Chirality is not a valid form
InvalidClass
The class is not valid
InvalidElementName(char)
Error indicating invalid Element name
HydrogenCountOverflow(u8)
A bracket atom’s explicit hydrogen count exceeds the maximum supported value (15).
The cap mirrors the magnitude cap on bracket-atom charges and prevents
downstream u8 valence math (explicit_valence + hydrogen_count + implicit_hydrogen_count) from overflowing for adversarial inputs.
Real chemistry SMILES never need an explicit H count above this bound.
InvalidHydrogenWithExplicitHydrogensFound
A hydrogen bracket atom has an unsupported explicit hydrogen count
InvalidIsotope
Invalid Isotope value passed
InvalidNonBondToken
Invalid Token::NonBond
InvalidNumber
Error indicating that an invalid number was encountered.
IntegerOverflow
Integer Overflow
InvalidUnbracketedAtom(AtomSymbol)
Non organic element found out of bracket
InvalidRingNumber
An invalid ring number has been found
MissingBracketElement
found [..] that did not contain an element
MissingElement
Missing Element
NodeIdInvalid(usize)
Node id does not point to a valid atom in the graph
NonBondInBracket
Non Bond in Bracket
RingNumberOverflow(u32)
Ring number above RingNum::MAX
SelfLoopEdge(usize)
An edge connects a node to itself
UnexpectedBracketedState
Unexpectedly inside of brackets
UnexpectedEndOfString
Unexpected end of string
UnexpectedCharacter(char)
Error indicating that an unexpected character was encountered.
UnexpectedUnicodeCharacter
Error indicating that unexpected unicode input was encountered.
UnexpectedColon
An unexpected : has been found
UnexpectedDash
An unexpected - has been found
UnexpectedPercent
An unexpected % has been found
UnexpectedLeftBracket
An unexpected left bracket [ was found
UnexpectedLeftParentheses
A ( that wasn’t expected has been found
UnexpectedRightBracket
An unexpected right bracket ] was found
UnexpectedRightParentheses
An unexpected right parentheses ) was found
WildcardAtomNotAllowed
A wildcard atom was parsed where only concrete atoms are allowed.
UnclosedBracket
A closing ] bracket was not found
UnclosedBranch
A branch has not been closed with a )
UnclosedRing
A ring number has been found that was not completed
Trait Implementations§
Source§impl Clone for SmilesError
impl Clone for SmilesError
impl Copy for SmilesError
Source§impl Debug for SmilesError
impl Debug for SmilesError
Source§impl Display for SmilesError
impl Display for SmilesError
impl Eq for SmilesError
Source§impl Error for SmilesError
impl Error for SmilesError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<Error> for SmilesError
impl From<Error> for SmilesError
Source§impl From<TryFromIntError> for SmilesError
impl From<TryFromIntError> for SmilesError
Source§fn from(_: TryFromIntError) -> Self
fn from(_: TryFromIntError) -> Self
Source§impl PartialEq for SmilesError
impl PartialEq for SmilesError
impl StructuralPartialEq for SmilesError
Auto Trait Implementations§
impl Freeze for SmilesError
impl RefUnwindSafe for SmilesError
impl Send for SmilesError
impl Sync for SmilesError
impl Unpin for SmilesError
impl UnsafeUnpin for SmilesError
impl UnwindSafe for SmilesError
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> CliqueRankerExt for T
impl<T> CliqueRankerExt for T
Source§fn then<R>(self, other: R) -> ChainedRanker<Self, R>
fn then<R>(self, other: R) -> ChainedRanker<Self, R>
Equal.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.