Primitive Type unit1.0.0[]

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() {}

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 {
fn returns_unit() {

let is_i64 = {
let is_unit = {

Trait Implementations

impl Debug for ()[src]

impl Default for ()[src]

pub fn default()[src]

Returns the default value of ()

impl Eq for ()[src]

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

impl Hash for ()[src]

impl Ord for ()[src]

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

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

impl Termination for ()[src]