Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
b60c3e2
Closes #15919
bombless Apr 30, 2015
4c8b813
Closes #15919
bombless Apr 30, 2015
9b3d315
std: Update crate docs
brson May 8, 2015
4b52059
Add error explanations for E0049, E0050, E0069, E0106, E0107, E0166.
May 11, 2015
4fee8d3
Add error explanation for E0066.
May 12, 2015
c3dc769
Add error explanation for E0322.
May 12, 2015
71f6ed8
Remove comment description of E0234.
May 12, 2015
cbeda68
Add error explanation for E0201.
May 12, 2015
46753da
Record correct span for static mut items
GSam May 12, 2015
a22b327
book: typo fixes, wording improvements.
wheals May 12, 2015
6f3701d
readme: Rework the arch support matrix
richo May 12, 2015
6ebba71
doc: Address feedback
brson May 12, 2015
33a30f2
Improve error explanations for E0049, E0050, E0166.
May 12, 2015
5c77f0d
Remove extended explanation of lifetime elision from E0106.
May 12, 2015
0ad15bb
TRPL: release channels
steveklabnik May 7, 2015
9a3e98b
TRPL: Drop
steveklabnik May 11, 2015
fc6372e
TRPL: Rust inside other languages
steveklabnik May 12, 2015
2ba6169
TRPL: dining philosophers
steveklabnik May 11, 2015
457aed7
trpl: move tuple-structs.md into structs.md
geofft May 12, 2015
797d8e2
trpl/structs: Document unit-like structs
geofft May 12, 2015
8d50216
trpl/enums: Rewrite
geofft May 12, 2015
f59f41e
trpl/match: Add an example for matching on enums
geofft May 13, 2015
d3dd694
Rollup merge of #24987 - bombless:large-array, r=pnkfelix
steveklabnik May 13, 2015
6834d37
Rollup merge of #25224 - brson:stddoc, r=steveklabnik
steveklabnik May 13, 2015
273224b
Rollup merge of #25317 - steveklabnik:trpl_drop, r=alexcrichton
steveklabnik May 13, 2015
8f16862
Rollup merge of #25321 - steveklabnik:second_tutorial, r=alexcrichton
steveklabnik May 13, 2015
b833737
Rollup merge of #25324 - richo:richo-compat, r=huonw
steveklabnik May 13, 2015
cd1f94a
Rollup merge of #25328 - nham:E0106_E0107, r=alexcrichton
steveklabnik May 13, 2015
2b1a1ef
Rollup merge of #25333 - GSam:master, r=nrc
steveklabnik May 13, 2015
b53392c
Merge branch 'doc_release_channels' into rollup
steveklabnik May 13, 2015
80381c3
Merge branch 'doc-fixes' of https://github.com/wheals/rust into rollup
steveklabnik May 13, 2015
2c01eac
Merge branch 'trpl_embedding' into rollup
steveklabnik May 13, 2015
758d568
Merge branch 'trpl-fix-enums' of https://github.com/geofft/rust into …
steveklabnik May 13, 2015
1d34f92
Update error messages for tests in compile-fail for E0066 and E0069.
May 13, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
std: Update crate docs
Attempted to organize them in a way more relevant to what newbies
would be interested in hearing.
  • Loading branch information
brson committed May 8, 2015
commit 9b3d315fff2e7009d3ebd945bb848c4afa2ebfb4
98 changes: 47 additions & 51 deletions src/libstd/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,33 +12,35 @@
//!
//! The Rust Standard Library provides the essential runtime
//! functionality for building portable Rust software.
//! It is linked to all Rust crates by default.
//!
//! ## Intrinsic types and operations
//! It is linked to all Rust crates by default as though they
//! contained a crate-level `extern crate std` crate import. Therefore
//! the standard library can be accessed in `use` statements through
//! the path `std`, as in `use std::thread`, or in expressions through
//! the absolute path `::std`, as in `::std::thread::sleep_ms(100)`.
//!
//! The [`ptr`](ptr/index.html) and [`mem`](mem/index.html)
//! modules deal with unsafe pointers and memory manipulation.
//! [`marker`](marker/index.html) defines the special built-in traits,
//! and [`raw`](raw/index.html) the runtime representation of Rust types.
//! These are some of the lowest-level building blocks in Rust.
//! Furthermore, the standard library defines [The Rust
//! Prelude](prelude/index.html), a small collection of items, mostly
//! traits, that are imported into and available in every module.
//!
//! ## Math on primitive types and math traits
//! ## What is in the standard library
//!
//! Although basic operations on primitive types are implemented
//! directly by the compiler, the standard library additionally
//! defines many common operations through traits defined in
//! mod [`num`](num/index.html).
//! The standard library is minimal, a set of battle-tested
//! core types and shared abstractions for the [broader Rust
//! ecosystem][https://crates.io] to build on.
//!
//! ## Pervasive types
//! The [primitive types](#primitives), though not defined in the
//! standard library, are documented here, as are the predefined
//! [macros](#macros).
//!
//! The [`option`](option/index.html) and [`result`](result/index.html)
//! modules define optional and error-handling types, `Option` and `Result`.
//! [`iter`](iter/index.html) defines Rust's iterator protocol
//! along with a wide variety of iterators.
//! [`Cell` and `RefCell`](cell/index.html) are for creating types that
//! manage their own mutability.
//! ## Containers and collections
//!
//! ## Vectors, slices and strings
//! The [`option`](option/index.html) and
//! [`result`](result/index.html) modules define optional and
//! error-handling types, `Option` and `Result`. The
//! [`iter`](iter/index.html) module defines Rust's iterator trait,
//! [`Iterater`](iter/trait.Iterator.html), which works with the `for`
//! loop to access collections.
//!
//! The common container type, `Vec`, a growable vector backed by an array,
//! lives in the [`vec`](vec/index.html) module. Contiguous, unsized regions
Expand All @@ -56,42 +58,36 @@
//! macro, and for converting from strings use the
//! [`FromStr`](str/trait.FromStr.html) trait.
//!
//! ## Platform abstractions
//! Data may be shared by placing it a reference-counted box, the
//! [`Rc`][rc/index.html] type, and if further contained in a [`Cell`
//! or `RefCell`](cell/index.html), may be mutated as well as shared.
//! Likewise, in a concurrent setting it is common to pair an
//! atomically-reference-counted box, [`Arc`](sync/struct.Arc.html),
//! with a [`Mutex`](sync/struct.Mutex.html) to get the same effect.
//!
//! Besides basic data types, the standard library is largely concerned
//! with abstracting over differences in common platforms, most notably
//! Windows and Unix derivatives. The [`os`](os/index.html) module
//! provides a number of basic functions for interacting with the
//! operating environment, including program arguments, environment
//! variables, and directory navigation. The [`path`](path/index.html)
//! module encapsulates the platform-specific rules for dealing
//! with file paths.
//!
//! `std` also includes the [`ffi`](ffi/index.html) module for interoperating
//! with the C language.
//!
//! ## Concurrency, I/O, and the runtime
//! The [`collections`](collections/index.html) module defines maps,
//! sets, linked lists and other typical collection types, including
//! the common [`HashMap`](collections/struct.HashMap.html).
//!
//! The [`thread`](thread/index.html) module contains Rust's threading abstractions.
//! [`sync`](sync/index.html) contains further, primitive, shared memory types,
//! including [`atomic`](sync/atomic/index.html), and [`mpsc`](sync/mpsc/index.html),
//! which contains the channel types for message passing.
//! ## Platform abstractions and I/O
//!
//! Common types of I/O, including files, TCP, UDP, pipes, Unix domain sockets, and
//! process spawning, are defined in the [`io`](io/index.html) module.
//!
//! Rust's I/O and concurrency depends on a small runtime interface
//! that lives, along with its support code, in mod [`rt`](rt/index.html).
//! While a notable part of the standard library's architecture, this
//! module is not intended for public use.
//! Besides basic data types, the standard library is largely concerned
//! with abstracting over differences in common platforms, most notably
//! Windows and Unix derivatives.
//!
//! ## The Rust prelude and macros
//! Common types of I/O, including [files](fs/struct.File.html),
//! [TCP](net/struct.TcpStream.html),
//! [UDP](net/struct.UdpSocket.html), are defined in the
//! [`io`](io/index.html), [`fs`](fs/index.html), and
//! [`net`](net/index.html) modulesu.
//!
//! Finally, the [`prelude`](prelude/index.html) defines a
//! common set of traits, types, and functions that are made available
//! to all code by default. [`macros`](macros/index.html) contains
//! all the standard macros, such as `assert!`, `panic!`, `println!`,
//! and `format!`, also available to all Rust code.
//! The [`thread`](thread/index.html) module contains Rust's threading
//! abstractions. [`sync`](sync/index.html) contains further,
//! primitive, shared memory types, including
//! [`atomic`](sync/atomic/index.html), and
//! [`mpsc`](sync/mpsc/index.html), which contains the channel types
//! for message passing.

// Do not remove on snapshot creation. Needed for bootstrap. (Issue #22364)
#![cfg_attr(stage0, feature(custom_attribute))]
#![crate_name = "std"]
Expand Down
2 changes: 1 addition & 1 deletion src/libstd/prelude/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

//! The Rust prelude
//! The Rust Prelude
//!
//! Because `std` is required by most serious Rust software, it is
//! imported at the topmost level of every crate by default, as if the
Expand Down
2 changes: 1 addition & 1 deletion src/libstd/prelude/v1.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

//! The first version of the prelude of the standard library.
//! The first version of the prelude of The Rust Standard Library.

#![stable(feature = "rust1", since = "1.0.0")]

Expand Down