Struct core::nonzero::NonZero [] [src]

#[lang = "non_zero"]
pub struct NonZero<T: Zeroable>(_);
🔬 This is a nightly-only experimental API. (nonzero #27730)

needs an RFC to flesh out the design

A wrapper type for raw pointers and integers that will never be NULL or 0 that might allow certain optimizations.

Methods

impl<T: Zeroable> NonZero<T>
[src]

[src]

🔬 This is a nightly-only experimental API. (nonzero #27730)

needs an RFC to flesh out the design

Creates an instance of NonZero with the provided value. You must indeed ensure that the value is actually "non-zero".

[src]

🔬 This is a nightly-only experimental API. (nonzero #27730)

needs an RFC to flesh out the design

Creates an instance of NonZero with the provided value.

[src]

🔬 This is a nightly-only experimental API. (nonzero #27730)

needs an RFC to flesh out the design

Gets the inner value.

Trait Implementations

impl<T: Copy + Zeroable> Copy for NonZero<T>
[src]

impl<T: Clone + Zeroable> Clone for NonZero<T>
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl<T: Eq + Zeroable> Eq for NonZero<T>
[src]

impl<T: PartialEq + Zeroable> PartialEq for NonZero<T>
[src]

[src]

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

[src]

This method tests for !=.

impl<T: Ord + Zeroable> Ord for NonZero<T>
[src]

[src]

This method returns an Ordering between self and other. Read more

1.21.0
[src]

Compares and returns the maximum of two values. Read more

1.21.0
[src]

Compares and returns the minimum of two values. Read more

impl<T: PartialOrd + Zeroable> PartialOrd for NonZero<T>
[src]

[src]

This method returns an ordering between self and other values if one exists. Read more

[src]

This method tests less than (for self and other) and is used by the < operator. Read more

[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl<T: Debug + Zeroable> Debug for NonZero<T>
[src]

[src]

Formats the value using the given formatter. Read more

impl<T: Hash + Zeroable> Hash for NonZero<T>
[src]

[src]

Feeds this value into the given [Hasher]. Read more

1.3.0
[src]

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

impl<T: Zeroable + CoerceUnsized<U>, U: Zeroable> CoerceUnsized<NonZero<U>> for NonZero<T>
[src]

impl<'a, T: ?Sized> From<&'a mut T> for NonZero<*mut T>
[src]

[src]

Performs the conversion.

impl<'a, T: ?Sized> From<&'a mut T> for NonZero<*const T>
[src]

[src]

Performs the conversion.

impl<'a, T: ?Sized> From<&'a T> for NonZero<*const T>
[src]

[src]

Performs the conversion.