std: Stabilize the prelude module

This commit is an implementation of [RFC 503][rfc] which is a stabilization
story for the prelude. Most of the RFC was directly applied, removing reexports.
Some reexports are kept around, however:

* `range` remains until range syntax has landed to reduce churn.
* `Path` and `GenericPath` remain until path reform lands. This is done to
  prevent many imports of `GenericPath` which will soon be removed.
* All `io` traits remain until I/O reform lands so imports can be rewritten all
  at once to `std::io::prelude::*`.

This is a breaking change because many prelude reexports have been removed, and
the RFC can be consulted for the exact list of removed reexports, as well as to
find the locations of where to import them.

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0503-prelude-stabilization.md
[breaking-change]

Closes #20068
This commit is contained in:
Alex Crichton 2014-12-22 09:04:23 -08:00
parent 71b46b18a2
commit 56290a0044
314 changed files with 1650 additions and 1200 deletions

View file

@ -10,19 +10,24 @@
//
// ignore-lexer-test FIXME #15679
//! The CodeMap tracks all the source code used within a single crate, mapping from integer byte
//! positions to the original source code location. Each bit of source parsed during crate parsing
//! (typically files, in-memory strings, or various bits of macro expansion) cover a continuous
//! range of bytes in the CodeMap and are represented by FileMaps. Byte positions are stored in
//! `spans` and used pervasively in the compiler. They are absolute positions within the CodeMap,
//! which upon request can be converted to line and column information, source code snippets, etc.
//! The CodeMap tracks all the source code used within a single crate, mapping
//! from integer byte positions to the original source code location. Each bit
//! of source parsed during crate parsing (typically files, in-memory strings,
//! or various bits of macro expansion) cover a continuous range of bytes in the
//! CodeMap and are represented by FileMaps. Byte positions are stored in
//! `spans` and used pervasively in the compiler. They are absolute positions
//! within the CodeMap, which upon request can be converted to line and column
//! information, source code snippets, etc.
pub use self::MacroFormat::*;
use serialize::{Encodable, Decodable, Encoder, Decoder};
use std::cell::RefCell;
use std::num::ToPrimitive;
use std::ops::{Add, Sub};
use std::rc::Rc;
use libc::c_uint;
use serialize::{Encodable, Decodable, Encoder, Decoder};
pub trait Pos {
fn from_uint(n: uint) -> Self;