File tree Expand file tree Collapse file tree 4 files changed +53
-0
lines changed
Expand file tree Collapse file tree 4 files changed +53
-0
lines changed Original file line number Diff line number Diff line change @@ -122,6 +122,10 @@ pub mod simd;
122122pub mod slice;
123123pub mod str;
124124pub mod tuple;
125+ // FIXME #15320: primitive documentation needs top-level modules, this
126+ // should be `core::tuple::unit`.
127+ #[ path = "tuple/unit.rs" ]
128+ pub mod unit;
125129pub mod fmt;
126130
127131#[ doc( hidden) ]
Original file line number Diff line number Diff line change 6161
6262#![ doc( primitive = "tuple" ) ]
6363
64+ pub use unit;
65+
6466use clone:: Clone ;
6567use cmp:: * ;
6668use default:: Default ;
Original file line number Diff line number Diff line change 1+ // Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2+ // file at the top-level directory of this distribution and at
3+ // http://rust-lang.org/COPYRIGHT.
4+ //
5+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+ // option. This file may not be copied, modified, or distributed
9+ // except according to those terms.
10+
11+ #![ doc( primitive = "unit" ) ]
12+
13+ //! The `()` type, sometimes called "unit" or "nil".
14+ //!
15+ //! The `()` type has exactly one value `()`, and is used when there
16+ //! is no other meaningful value that could be returned. `()` is most
17+ //! commonly seen implicitly: functions without a `-> ...` implicitly
18+ //! have return type `()`, that is, these are equivalent:
19+ //!
20+ //! ```rust
21+ //! fn long() -> () {}
22+ //!
23+ //! fn short() {}
24+ //! ```
25+ //!
26+ //! The semicolon `;` can be used to discard the result of an
27+ //! expression at the end of a block, making the expression (and thus
28+ //! the block) evaluate to `()`. For example,
29+ //!
30+ //! ```rust
31+ //! fn returns_i64() -> i64 {
32+ //! 1i64
33+ //! }
34+ //! fn returns_unit() {
35+ //! 1i64;
36+ //! }
37+ //!
38+ //! let is_i64 = {
39+ //! returns_i64()
40+ //! };
41+ //! let is_unit = {
42+ //! returns_i64();
43+ //! };
44+ //! ```
Original file line number Diff line number Diff line change @@ -160,6 +160,9 @@ pub use core::ptr;
160160pub use core:: raw;
161161pub use core:: simd;
162162pub use core:: tuple;
163+ // FIXME #15320: primitive documentation needs top-level modules, this
164+ // should be `std::tuple::unit`.
165+ pub use core:: unit;
163166#[ cfg( not( test) ) ] pub use core:: ty;
164167pub use core:: result;
165168pub use core:: option;
You can’t perform that action at this time.
0 commit comments