[−][src]Enum nobility::bin_decode::ParseError
Failures which can occur while parsing an NBT document.
Variants (Non-exhaustive)
End of file happens when the document is truncated, i.e. we were expecting some data to follow after something, and then the file ended instead. In particular, this can happen when:
-
Any primitive type is not followed by enough bytes to construct the primitive type (TAG_Byte, TAG_Short, TAG_Int, TAG_Long, TAG_Float, TAG_Double).
-
A TAG_Byte_Array, TAG_String, or TAG_Int_Array is not followed by as many elements as it says it is.
-
A TAG_List does not have as many elements as it says it does, or we get an EOF while attempting to parse an element.
-
A TAG_Compound does not have a TAG_End to terminate it, or we get an EOF while attempting to parse a tag.
This happens when there is an unknown tag type in the stream. This can happen if Mojang adds new tag types, if a document has third party tag types, if the file is corrupted, or if there's a bug in the library.
This happens when we found a TAG_End where we shouldn't have. TAG_End is only supposed to be found after having a TAG_Compound, to terminate it. Places we can find this include as the root tag of a document and inside of a List.
This library assumes that NBT documents always have a root TAG_Compound, and if this invariant fails this error will be generated.
Fields of IncorrectStartTag
tag: TagType
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for ParseError
[src]
impl Send for ParseError
[src]
impl Sync for ParseError
[src]
impl Unpin for ParseError
[src]
impl UnwindSafe for ParseError
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,