Skip to content

Commit 02fcd95

Browse files
committed
Utilize fewer reexports
In regards to: #19253 (comment) This commit: * Changes the #deriving code so that it generates code that utilizes fewer reexports (in particur Option::* and Result::*), which is necessary to remove those reexports in the future * Changes other areas of the codebase so that fewer reexports are utilized
1 parent 3a325c6 commit 02fcd95

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+277
-195
lines changed

src/doc/reference.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -994,7 +994,7 @@ An example of `use` declarations:
994994

995995
```
996996
use std::iter::range_step;
997-
use std::option::{Some, None};
997+
use std::option::Option::{Some, None};
998998
use std::collections::hash_map::{mod, HashMap};
999999
10001000
fn foo<T>(_: T){}
@@ -1004,8 +1004,8 @@ fn main() {
10041004
// Equivalent to 'std::iter::range_step(0u, 10u, 2u);'
10051005
range_step(0u, 10u, 2u);
10061006
1007-
// Equivalent to 'foo(vec![std::option::Some(1.0f64),
1008-
// std::option::None]);'
1007+
// Equivalent to 'foo(vec![std::option::Option::Some(1.0f64),
1008+
// std::option::Option::None]);'
10091009
foo(vec![Some(1.0f64), None]);
10101010
10111011
// Both `hash_map` and `HashMap` are in scope.

src/etc/unicode.py

+9-7
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ def escape_char(c):
292292
def emit_bsearch_range_table(f):
293293
f.write("""
294294
fn bsearch_range_table(c: char, r: &'static [(char,char)]) -> bool {
295-
use core::cmp::{Equal, Less, Greater};
295+
use core::cmp::Ordering::{Equal, Less, Greater};
296296
use core::slice::SlicePrelude;
297297
r.binary_search(|&(lo,hi)| {
298298
if lo <= c && c <= hi { Equal }
@@ -350,10 +350,11 @@ def emit_regex_module(f, cats, w_data):
350350
def emit_conversions_module(f, lowerupper, upperlower):
351351
f.write("pub mod conversions {")
352352
f.write("""
353-
use core::cmp::{Equal, Less, Greater};
353+
use core::cmp::Ordering::{Equal, Less, Greater};
354354
use core::slice::SlicePrelude;
355355
use core::tuple::Tuple2;
356-
use core::option::{Option, Some, None};
356+
use core::option::Option;
357+
use core::option::Option::{Some, None};
357358
use core::slice;
358359
359360
pub fn to_lower(c: char) -> char {
@@ -403,7 +404,7 @@ def emit_grapheme_module(f, grapheme_table, grapheme_cats):
403404
f.write(""" }
404405
405406
fn bsearch_range_value_table(c: char, r: &'static [(char, char, GraphemeCat)]) -> GraphemeCat {
406-
use core::cmp::{Equal, Less, Greater};
407+
use core::cmp::Ordering::{Equal, Less, Greater};
407408
match r.binary_search(|&(lo, hi, _)| {
408409
if lo <= c && c <= hi { Equal }
409410
else if hi < c { Less }
@@ -430,12 +431,13 @@ def emit_grapheme_module(f, grapheme_table, grapheme_cats):
430431

431432
def emit_charwidth_module(f, width_table):
432433
f.write("pub mod charwidth {\n")
433-
f.write(" use core::option::{Option, Some, None};\n")
434+
f.write(" use core::option::Option;\n")
435+
f.write(" use core::option::Option::{Some, None};\n")
434436
f.write(" use core::slice::SlicePrelude;\n")
435437
f.write(" use core::slice;\n")
436438
f.write("""
437439
fn bsearch_range_value_table(c: char, is_cjk: bool, r: &'static [(char, char, u8, u8)]) -> u8 {
438-
use core::cmp::{Equal, Less, Greater};
440+
use core::cmp::Ordering::{Equal, Less, Greater};
439441
match r.binary_search(|&(lo, hi, _, _)| {
440442
if lo <= c && c <= hi { Equal }
441443
else if hi < c { Less }
@@ -530,7 +532,7 @@ def comp_pfun(char):
530532

531533
f.write("""
532534
fn bsearch_range_value_table(c: char, r: &'static [(char, char, u8)]) -> u8 {
533-
use core::cmp::{Equal, Less, Greater};
535+
use core::cmp::Ordering::{Equal, Less, Greater};
534536
use core::slice::SlicePrelude;
535537
use core::slice;
536538
match r.binary_search(|&(lo, hi, _)| {

src/liballoc/arc.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ use core::kinds::{Sync, Send};
2222
use core::mem::{min_align_of, size_of, drop};
2323
use core::mem;
2424
use core::ops::{Drop, Deref};
25-
use core::option::{Some, None, Option};
25+
use core::option::Option;
26+
use core::option::Option::{Some, None};
2627
use core::ptr::RawPtr;
2728
use core::ptr;
2829
use heap::deallocate;
@@ -326,7 +327,8 @@ mod tests {
326327
use std::comm::channel;
327328
use std::mem::drop;
328329
use std::ops::Drop;
329-
use std::option::{Option, Some, None};
330+
use std::option::Option;
331+
use std::option::Option::{Some, None};
330332
use std::str::Str;
331333
use std::sync::atomic;
332334
use std::task;

src/liballoc/boxed.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ use core::kinds::Sized;
1919
use core::mem;
2020
use core::option::Option;
2121
use core::raw::TraitObject;
22-
use core::result::{Ok, Err, Result};
22+
use core::result::Result;
23+
use core::result::Result::{Ok, Err};
2324

2425
/// A value that represents the global exchange heap. This is the default
2526
/// place that the `box` keyword allocates into when no place is supplied.

src/liballoc/heap.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,8 @@ const MIN_ALIGN: uint = 16;
125125

126126
#[cfg(jemalloc)]
127127
mod imp {
128-
use core::option::{None, Option};
128+
use core::option::Option;
129+
use core::option::Option::None;
129130
use core::ptr::{null_mut, null};
130131
use core::num::Int;
131132
use libc::{c_char, c_int, c_void, size_t};

src/liballoc/rc.rs

+7-4
Original file line numberDiff line numberDiff line change
@@ -149,10 +149,12 @@ use core::fmt;
149149
use core::kinds::marker;
150150
use core::mem::{transmute, min_align_of, size_of, forget};
151151
use core::ops::{Deref, Drop};
152-
use core::option::{Option, Some, None};
152+
use core::option::Option;
153+
use core::option::Option::{Some, None};
153154
use core::ptr;
154155
use core::ptr::RawPtr;
155-
use core::result::{Result, Ok, Err};
156+
use core::result::Result;
157+
use core::result::Result::{Ok, Err};
156158

157159
use heap::deallocate;
158160

@@ -739,8 +741,9 @@ impl<T> RcBoxPtr<T> for Weak<T> {
739741
mod tests {
740742
use super::{Rc, Weak, weak_count, strong_count};
741743
use std::cell::RefCell;
742-
use std::option::{Option, Some, None};
743-
use std::result::{Err, Ok};
744+
use std::option::Option;
745+
use std::option::Option::{Some, None};
746+
use std::result::Result::{Err, Ok};
744747
use std::mem::drop;
745748
use std::clone::Clone;
746749

src/libcollections/str.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -832,8 +832,10 @@ mod tests {
832832
use std::default::Default;
833833
use std::char::Char;
834834
use std::clone::Clone;
835-
use std::cmp::{Equal, Greater, Less, Ord, PartialOrd, Equiv};
836-
use std::option::{Some, None};
835+
use std::cmp::{Ord, PartialOrd, Equiv};
836+
use std::cmp::Ordering::{Equal, Greater, Less};
837+
use std::option::Option;
838+
use std::option::Option::{Some, None};
837839
use std::ptr::RawPtr;
838840
use std::iter::{Iterator, IteratorExt, DoubleEndedIteratorExt};
839841

src/libcore/any.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@
7272
#![stable]
7373

7474
use mem::{transmute};
75-
use option::{Option, Some, None};
75+
use option::Option;
76+
use option::Option::{Some, None};
7677
use raw::TraitObject;
7778
use intrinsics::TypeId;
7879

src/libcore/cell.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,8 @@ use cmp::PartialEq;
160160
use default::Default;
161161
use kinds::{marker, Copy};
162162
use ops::{Deref, DerefMut, Drop};
163-
use option::{None, Option, Some};
163+
use option::Option;
164+
use option::Option::{None, Some};
164165

165166
/// A mutable memory location that admits only `Copy` data.
166167
#[unstable = "likely to be renamed; otherwise stable"]

src/libcore/char.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
#![doc(primitive = "char")]
1717

1818
use mem::transmute;
19-
use option::{None, Option, Some};
19+
use option::Option;
20+
use option::Option::{None, Some};
2021
use iter::{range_step, Iterator, RangeStep};
2122
use slice::SlicePrelude;
2223

src/libcore/cmp.rs

+6-4
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@
4444
pub use self::Ordering::*;
4545

4646
use kinds::Sized;
47-
use option::{Option, Some, None};
47+
use option::Option;
48+
use option::Option::{Some, None};
4849

4950
/// Trait for values that can be compared for equality and inequality.
5051
///
@@ -288,10 +289,11 @@ pub fn partial_max<T: PartialOrd>(v1: T, v2: T) -> Option<T> {
288289

289290
// Implementation of PartialEq, Eq, PartialOrd and Ord for primitive types
290291
mod impls {
291-
use cmp::{PartialOrd, Ord, PartialEq, Eq, Ordering,
292-
Less, Greater, Equal};
292+
use cmp::{PartialOrd, Ord, PartialEq, Eq, Ordering};
293+
use cmp::Ordering::{Less, Greater, Equal};
293294
use kinds::Sized;
294-
use option::{Option, Some, None};
295+
use option::Option;
296+
use option::Option::{Some, None};
295297

296298
macro_rules! partial_eq_impl(
297299
($($t:ty)*) => ($(

src/libcore/fmt/float.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use fmt;
2020
use iter::{range, DoubleEndedIteratorExt};
2121
use num::{Float, FPNaN, FPInfinite, ToPrimitive};
2222
use num::cast;
23-
use result::Ok;
23+
use result::Result::Ok;
2424
use slice::{mod, SlicePrelude};
2525
use str::StrPrelude;
2626

src/libcore/fmt/mod.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@ use cell::{Cell, Ref, RefMut};
1717
use iter::{Iterator, IteratorExt, range};
1818
use kinds::{Copy, Sized};
1919
use mem;
20-
use option::{Option, Some, None};
20+
use option::Option;
21+
use option::Option::{Some, None};
2122
use ops::Deref;
22-
use result::{Ok, Err};
23+
use result::Result::{Ok, Err};
2324
use result;
2425
use slice::SlicePrelude;
2526
use slice;

src/libcore/iter.rs

+13-10
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ use cmp::Ord;
6262
use mem;
6363
use num::{ToPrimitive, Int};
6464
use ops::{Add, Deref};
65-
use option::{Option, Some, None};
65+
use option::Option;
66+
use option::Option::{Some, None};
6667
use uint;
6768

6869
#[deprecated = "renamed to Extend"] pub use self::Extend as Extendable;
@@ -2427,7 +2428,9 @@ pub fn repeat<T: Clone>(elt: T) -> Repeat<T> {
24272428
pub mod order {
24282429
use cmp;
24292430
use cmp::{Eq, Ord, PartialOrd, PartialEq};
2430-
use option::{Option, Some, None};
2431+
use cmp::Ordering::{Equal, Less, Greater};
2432+
use option::Option;
2433+
use option::Option::{Some, None};
24312434
use super::Iterator;
24322435

24332436
/// Compare `a` and `b` for equality using `Eq`
@@ -2445,11 +2448,11 @@ pub mod order {
24452448
pub fn cmp<A: Ord, T: Iterator<A>, S: Iterator<A>>(mut a: T, mut b: S) -> cmp::Ordering {
24462449
loop {
24472450
match (a.next(), b.next()) {
2448-
(None, None) => return cmp::Equal,
2449-
(None, _ ) => return cmp::Less,
2450-
(_ , None) => return cmp::Greater,
2451+
(None, None) => return Equal,
2452+
(None, _ ) => return Less,
2453+
(_ , None) => return Greater,
24512454
(Some(x), Some(y)) => match x.cmp(&y) {
2452-
cmp::Equal => (),
2455+
Equal => (),
24532456
non_eq => return non_eq,
24542457
},
24552458
}
@@ -2461,11 +2464,11 @@ pub mod order {
24612464
-> Option<cmp::Ordering> {
24622465
loop {
24632466
match (a.next(), b.next()) {
2464-
(None, None) => return Some(cmp::Equal),
2465-
(None, _ ) => return Some(cmp::Less),
2466-
(_ , None) => return Some(cmp::Greater),
2467+
(None, None) => return Some(Equal),
2468+
(None, _ ) => return Some(Less),
2469+
(_ , None) => return Some(Greater),
24672470
(Some(x), Some(y)) => match x.partial_cmp(&y) {
2468-
Some(cmp::Equal) => (),
2471+
Some(Equal) => (),
24692472
non_eq => return non_eq,
24702473
},
24712474
}

src/libcore/num/mod.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ use kinds::Copy;
3030
use mem::size_of;
3131
use ops::{Add, Sub, Mul, Div, Rem, Neg};
3232
use ops::{Not, BitAnd, BitOr, BitXor, Shl, Shr};
33-
use option::{Option, Some, None};
33+
use option::Option;
34+
use option::Option::{Some, None};
3435
use str::{FromStr, from_str, StrPrelude};
3536

3637
/// Simultaneous division and remainder

src/libcore/option.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,8 @@ use cmp::{Eq, Ord};
149149
use default::Default;
150150
use iter::{Iterator, IteratorExt, DoubleEndedIterator, FromIterator, ExactSizeIterator};
151151
use mem;
152-
use result::{Result, Ok, Err};
152+
use result::Result;
153+
use result::Result::{Ok, Err};
153154
use slice;
154155
use slice::AsSlice;
155156
use clone::Clone;

src/libcore/ptr.rs

+5-2
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,12 @@
9090
use mem;
9191
use clone::Clone;
9292
use intrinsics;
93-
use option::{Some, None, Option};
93+
use option::Option;
94+
use option::Option::{Some, None};
9495

95-
use cmp::{PartialEq, Eq, PartialOrd, Equiv, Ordering, Less, Equal, Greater};
96+
use cmp::{PartialEq, Eq, PartialOrd, Equiv};
97+
use cmp::Ordering;
98+
use cmp::Ordering::{Less, Equal, Greater};
9699

97100
pub use intrinsics::copy_memory;
98101
pub use intrinsics::copy_nonoverlapping_memory;

src/libcore/result.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,8 @@ use std::fmt::Show;
236236
use slice;
237237
use slice::AsSlice;
238238
use iter::{Iterator, IteratorExt, DoubleEndedIterator, FromIterator, ExactSizeIterator};
239-
use option::{None, Option, Some};
239+
use option::Option;
240+
use option::Option::{None, Some};
240241

241242
/// `Result` is a type that represents either success (`Ok`) or failure (`Err`).
242243
///

src/libcore/slice.rs

+6-3
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,15 @@
3636

3737
use mem::transmute;
3838
use clone::Clone;
39-
use cmp::{PartialEq, PartialOrd, Eq, Ord, Ordering, Less, Equal, Greater, Equiv};
39+
use cmp::{Ordering, PartialEq, PartialOrd, Eq, Ord, Equiv};
40+
use cmp::Ordering::{Less, Equal, Greater};
4041
use cmp;
4142
use default::Default;
4243
use iter::*;
4344
use num::Int;
4445
use ops;
45-
use option::{None, Option, Some};
46+
use option::Option;
47+
use option::Option::{None, Some};
4648
use ptr;
4749
use ptr::RawPtr;
4850
use mem;
@@ -1702,7 +1704,8 @@ pub mod raw {
17021704
use mem::transmute;
17031705
use ptr::RawPtr;
17041706
use raw::Slice;
1705-
use option::{None, Option, Some};
1707+
use option::Option;
1708+
use option::Option::{None, Some};
17061709

17071710
/// Form a slice from a pointer and length (as a number of units,
17081711
/// not bytes).

src/libcore/str.rs

+6-3
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ use iter::range;
2929
use kinds::Sized;
3030
use mem;
3131
use num::Int;
32-
use option::{Option, None, Some};
32+
use option::Option;
33+
use option::Option::{None, Some};
3334
use ptr::RawPtr;
3435
use raw::{Repr, Slice};
3536
use slice::{mod, SlicePrelude};
@@ -1209,9 +1210,11 @@ Section: Trait implementations
12091210

12101211
#[allow(missing_docs)]
12111212
pub mod traits {
1212-
use cmp::{Ord, Ordering, Less, Equal, Greater, PartialEq, PartialOrd, Equiv, Eq};
1213+
use cmp::{Ordering, Ord, PartialEq, PartialOrd, Equiv, Eq};
1214+
use cmp::Ordering::{Less, Equal, Greater};
12131215
use iter::IteratorExt;
1214-
use option::{Option, Some};
1216+
use option::Option;
1217+
use option::Option::Some;
12151218
use ops;
12161219
use str::{Str, StrPrelude, eq_slice};
12171220

src/libcore/tuple/mod.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,8 @@ pub use unit;
6969
use clone::Clone;
7070
use cmp::*;
7171
use default::Default;
72-
use option::{Option, Some};
72+
use option::Option;
73+
use option::Option::Some;
7374

7475
// macro for implementing n-ary tuple functions and operations
7576
macro_rules! tuple_impls {

0 commit comments

Comments
 (0)