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 Debug 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
fn from_iter<I>(iter: I) where
I: IntoIterator<Item = ()>,
[src]
I: IntoIterator<Item = ()>,
impl Extend<()> for ()
1.28.0[src]
fn extend<T>(&mut self, iter: T) where
T: IntoIterator<Item = ()>,
[src]
T: IntoIterator<Item = ()>,
impl Hash for ()
[src]
fn hash<H>(&self, _state: &mut H) where
H: Hasher,
[src]
H: Hasher,
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,