# Enum encoding_rs::DecoderResult [−] [src]

    #[must_use]pub enum DecoderResult {
        InputEmpty,
        OutputFull,
        Malformed(u8, u8),
    }

Result of a (potentially partial) decode operation without replacement.

## Variants

`InputEmpty`

The input was exhausted.

If this result was returned from a call where `last` was `true`, the decoding process has completed. Otherwise, the caller should call a decode method again with more input.

`OutputFull`

The decoder cannot produce another unit of output, because the output buffer does not have enough space left.

The caller must provide more output space upon the next call and re-push the remaining input to the decoder.

`Malformed(u8, u8)`

The decoder encountered a malformed byte sequence.

The caller must either treat this as a fatal error or must append one REPLACEMENT CHARACTER (U+FFFD) to the output and then re-push the the remaining input to the decoder.

The first wrapped integer indicates the length of the malformed byte sequence. The second wrapped integer indicates the number of bytes that were consumed after the malformed sequence. If the second integer is zero, the last byte that was consumed is the last byte of the malformed sequence. Note that the malformed bytes may have been part of an earlier input buffer.

The first wrapped integer can have values 1, 2, 3 or 4. The second wrapped integer can have values 0, 1, 2 or 3. The worst-case sum of the two is 6, which happens with ISO-2022-JP.

## Trait Implementations

### `impl Debug for DecoderResult` [src]

#### `fn fmt(&self, f: &mut Formatter<'_>) -> Result` [src]

Formats the value using the given formatter. Read more

### `impl Eq for DecoderResult` [src]

### `impl PartialEq<DecoderResult> for DecoderResult` [src]

#### `fn eq(&self, other: &DecoderResult) -> bool` [src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `fn ne(&self, other: &DecoderResult) -> bool` [src]

This method tests for `!=`.

### `impl StructuralEq for DecoderResult` [src]

### `impl StructuralPartialEq for DecoderResult` [src]

## Auto Trait Implementations

### `impl Send for DecoderResult`

### `impl Sync for DecoderResult`

### `impl Unpin for DecoderResult`

## Blanket Implementations

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

#### `pub fn type_id(&self) -> TypeId` [src]

Gets the `TypeId` of `self`. Read more

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

#### `pub fn borrow(&self) -> &T` [src]

Immutably borrows from an owned value. Read more

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

#### `pub fn borrow_mut(&mut self) -> &mut T` [src]

Mutably borrows from an owned value. Read more

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

#### `pub fn from(t: T) -> T` [src]

Performs the conversion.

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

#### `pub fn into(self) -> U` [src]

Performs the conversion.

### `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.

#### `pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>` [src]

Performs the conversion.

### `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.

#### `pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>` [src]

Performs the conversion.