Primitive Type unit1.0.0[]

Expand description

The () type, also called “unit”.

The () type has exactly one value (), and is used when there is no other meaningful value that could be returned. () is most commonly seen implicitly: functions without a -> ... implicitly have return type (), that is, these are equivalent:

fn long() -> () {}

fn short() {}
Run

The semicolon ; can be used to discard the result of an expression at the end of a block, making the expression (and thus the block) evaluate to (). For example,

fn returns_i64() -> i64 {
    1i64
}
fn returns_unit() {
    1i64;
}

let is_i64 = {
    returns_i64()
};
let is_unit = {
    returns_i64();
};
Run

Trait Implementations

impl Debug for ()[src]

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

Formats the value using the given formatter. Read more

impl Default for ()[src]

pub fn default()[src]

Returns the default value of ()

impl Extend<()> for ()1.28.0[src]

pub fn extend<T>(&mut self, iter: T) where
    T: IntoIterator<Item = ()>, 
[src]

Extends a collection with the contents of an iterator. Read more

pub fn extend_one(&mut self, _item: ())[src]

🔬 This is a nightly-only experimental API. (extend_one #72631)

Extends a collection with exactly one element.

fn extend_reserve(&mut self, additional: usize)[src]

🔬 This is a nightly-only experimental API. (extend_one #72631)

Reserves capacity in a collection for the given number of additional elements. Read more

impl FromIterator<()> for ()1.23.0[src]

Collapses all unit items from an iterator into one.

This is more useful when combined with higher-level abstractions, like collecting to a Result<(), E> where you only care about errors:

use std::io::*;
let data = vec![1, 2, 3, 4, 5];
let res: Result<()> = data.iter()
    .map(|x| writeln!(stdout(), "{}", x))
    .collect();
assert!(res.is_ok());
Run

pub fn from_iter<I>(iter: I) where
    I: IntoIterator<Item = ()>, 
[src]

Creates a value from an iterator. Read more

impl Hash for ()[src]

pub fn hash<H>(&self, _state: &mut H) where
    H: Hasher
[src]

Feeds this value into the given Hasher. Read more

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 Ord for ()[src]

pub fn cmp(&self, _other: &()) -> Ordering[src]

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

#[must_use]
fn max(self, other: Self) -> Self
1.21.0[src]

Compares and returns the maximum of two values. Read more

#[must_use]
fn min(self, other: Self) -> Self
1.21.0[src]

Compares and returns the minimum of two values. Read more

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

Restrict a value to a certain interval. Read more

impl PartialEq<()> for ()[src]

pub fn eq(&self, _other: &()) -> bool[src]

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

pub fn ne(&self, _other: &()) -> bool[src]

This method tests for !=.

impl PartialOrd<()> for ()[src]

pub fn partial_cmp(&self, &()) -> Option<Ordering>[src]

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

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

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

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

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

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

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

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

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

impl Termination for ()[src]

fn report(self) -> i32[src]

🔬 This is a nightly-only experimental API. (termination_trait_lib #43301)

Is called to get the representation of the value as status code. This status code is returned to the operating system. Read more

impl Eq for ()[src]