1.34.0[][src]Struct std::num::NonZeroI8

#[repr(transparent)]
pub struct NonZeroI8(_);

An integer that is known not to equal zero.

This enables some memory layout optimization. For example, Option<NonZeroI8> is the same size as i8:

use std::mem::size_of;
assert_eq!(size_of::<Option<core::num::NonZeroI8>>(), size_of::<i8>());Run

Methods

impl NonZeroI8[src]

pub const unsafe fn new_unchecked(n: i8) -> NonZeroI8[src]

Creates a non-zero without checking the value.

Safety

The value must not be zero.

pub fn new(n: i8) -> Option<NonZeroI8>[src]

Creates a non-zero if the given value is not zero.

pub const fn get(self) -> i8[src]

Returns the value as a primitive type.

Trait Implementations

impl Copy for NonZeroI8[src]

impl UpperHex for NonZeroI8[src]

impl Octal for NonZeroI8[src]

impl Hash for NonZeroI8[src]

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl Clone for NonZeroI8[src]

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

Performs copy-assignment from source. Read more

impl Eq for NonZeroI8[src]

impl PartialOrd<NonZeroI8> for NonZeroI8[src]

impl Binary for NonZeroI8[src]

impl Ord for NonZeroI8[src]

fn max(self, other: Self) -> Self1.21.0[src]

Compares and returns the maximum of two values. Read more

fn min(self, other: Self) -> Self1.21.0[src]

Compares and returns the minimum of two values. Read more

fn clamp(self, min: Self, max: Self) -> Self[src]

🔬 This is a nightly-only experimental API. (clamp #44095)

Restrict a value to a certain interval. Read more

impl Debug for NonZeroI8[src]

impl PartialEq<NonZeroI8> for NonZeroI8[src]

impl LowerHex for NonZeroI8[src]

impl Display for NonZeroI8[src]

impl From<NonZeroI8> for i81.31.0[src]

impl FromStr for NonZeroI81.35.0[src]

type Err = ParseIntError

The associated error which can be returned from parsing.

Auto Trait Implementations

impl UnwindSafe for NonZeroI8

impl RefUnwindSafe for NonZeroI8

impl Unpin for NonZeroI8

impl Send for NonZeroI8

impl Sync for NonZeroI8

Blanket Implementations

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.

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

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

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.

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

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

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]