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]

🔬 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".

Trait Implementations

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

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

Returns a copy of the value. Read more

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]

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

This method tests for !=.

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

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

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

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

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

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

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

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]

Formats the value using the given formatter.

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

Feeds this value into the state given, updating the hasher as necessary.

Feeds a slice of this type into the state provided.

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

The resulting type after dereferencing

The method called to dereference a value

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