1.0.0[]Primitive Type unit

The () type, sometimes called "unit" or "nil".

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

impl Eq for ()[src]

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

impl Default for ()[src]

fn default()[src]

Returns the default value of ()

impl Hash for ()[src]

impl Ord for ()[src]

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

impl Debug for ()[src]

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

impl Termination for ()[src]