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 { 1i64 } fn returns_unit() { 1i64; } let is_i64 = { returns_i64() }; let is_unit = { returns_i64(); };
impl Debug for ()
[src]
impl Default for ()
[src]
impl Eq for ()
[src]
impl Extend<()> for ()
[src]1.28.0
fn extend<T>(&mut self, iter: T) where
T: IntoIterator<Item = ()>,
[src]
fn extend_one(&mut self, _item: ())
[src]
fn extend_reserve(&mut self, additional: usize)
[src]
impl FromIterator<()> for ()
[src]1.23.0
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());
fn from_iter<I>(iter: I) where
I: IntoIterator<Item = ()>,
[src]
impl Hash for ()
[src]
fn hash<H>(&self, _state: &mut H) where
H: Hasher,
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
[src]1.3.0
impl Ord for ()
[src]
fn cmp(&self, _other: &()) -> Ordering
[src]
fn max(self, other: Self) -> Self
[src]1.21.0
fn min(self, other: Self) -> Self
[src]1.21.0
fn clamp(self, min: Self, max: Self) -> Self
[src]
impl PartialEq<()> for ()
[src]
impl PartialOrd<()> for ()
[src]
fn partial_cmp(&self, &()) -> Option<Ordering>
[src]
fn lt(&self, other: &Rhs) -> bool
[src]
fn le(&self, other: &Rhs) -> bool
[src]
fn gt(&self, other: &Rhs) -> bool
[src]
fn ge(&self, other: &Rhs) -> bool
[src]
impl Termination for ()
[src]
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/primitive.unit.html