std::num::IntErrorKind - Rust
Description: API documentation for the Rust `IntErrorKind` enum in crate `std`.
Keywords: rust, rustlang, rust-lang, IntErrorKind

# [−][src]Enum std::num::IntErrorKind

    #[non_exhaustive]pub enum IntErrorKind {
        Empty,
        InvalidDigit,
        PosOverflow,
        NegOverflow,
        Zero,
    }

🔬 This is a nightly-only experimental API. (`int_error_matching` #22639)

it can be useful to match errors when making error messages for integer parsing

Enum to store the various types of errors that can cause parsing an integer to fail.

# Example

    #![feature(int_error_matching)]

    if let Err(e) = i32::from_str_radix("a12", 10) {
        println!("Failed conversion to i32: {:?}", e.kind());
    }

Run

## Variants (Non-exhaustive)

Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
`Empty`
🔬 This is a nightly-only experimental API. (`int_error_matching` #22639)

it can be useful to match errors when making error messages for integer parsing

Value being parsed is empty.

Among other causes, this variant will be constructed when parsing an empty string.

`InvalidDigit`
🔬 This is a nightly-only experimental API. (`int_error_matching` #22639)

it can be useful to match errors when making error messages for integer parsing

Contains an invalid digit in its context.

Among other causes, this variant will be constructed when parsing a string that contains a non-ASCII char.

This variant is also constructed when a `+` or `-` is misplaced within a string either on its own or in the middle of a number.

`PosOverflow`
🔬 This is a nightly-only experimental API. (`int_error_matching` #22639)

it can be useful to match errors when making error messages for integer parsing

Integer is too large to store in target integer type.

`NegOverflow`
🔬 This is a nightly-only experimental API. (`int_error_matching` #22639)

it can be useful to match errors when making error messages for integer parsing

Integer is too small to store in target integer type.

`Zero`
🔬 This is a nightly-only experimental API. (`int_error_matching` #22639)

it can be useful to match errors when making error messages for integer parsing

Value was Zero

This variant will be emitted when the parsing string has a value of zero, which would be illegal for non-zero types.

## Trait Implementations

### `impl Clone for IntErrorKind`[src]

#### `pub fn clone(&self) -> IntErrorKind`[src]

Returns a copy of the value. Read more

#### `fn clone_from(&mut self, source: &Self)`1.0.0[src]

Performs copy-assignment from `source`. Read more

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

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

Formats the value using the given formatter. Read more

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

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

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

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

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

This method tests for `!=`.

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

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

## Auto Trait Implementations

### `impl RefUnwindSafe for IntErrorKind`

### `impl Send for IntErrorKind`

### `impl Sync for IntErrorKind`

### `impl Unpin for IntErrorKind`

### `impl UnwindSafe for IntErrorKind`

## 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ⓘ

### Notable traits for &'_ mut I

`impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Unpin + Future + ?Sized, type Output = <F as Future>::Output;impl<R: Read + ?Sized, '_> Read for &'_ mut Rimpl<W: Write + ?Sized, '_> Write for &'_ mut W`
`[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ⓘ

### Notable traits for &'_ mut I

`impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Unpin + Future + ?Sized, type Output = <F as Future>::Output;impl<R: Read + ?Sized, '_> Read for &'_ mut Rimpl<W: Write + ?Sized, '_> Write for &'_ mut W`
`[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> ToOwned for T where
T: Clone,` [src]

#### `type Owned = T`

The resulting type after obtaining ownership.

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

Creates owned data from borrowed data, usually by cloning. Read more

#### `pub fn clone_into(&self, target: &mut T)`[src]

🔬 This is a nightly-only experimental API. (`toowned_clone_into` #41263)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

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