Skip to content

Commit fae3336

Browse files
committed
Merge remote-tracking branch 'mozilla/master'
Conflicts: src/libextra/test.rs src/libstd/rt/global_heap.rs src/libstd/unstable/lang.rs src/libstd/vec.rs
2 parents b227583 + f503e53 commit fae3336

File tree

247 files changed

+5149
-5746
lines changed

Some content is hidden

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

247 files changed

+5149
-5746
lines changed

Makefile.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,11 @@ endif
139139

140140
# version-string calculation
141141
CFG_GIT_DIR := $(CFG_SRC_DIR).git
142-
CFG_RELEASE = 0.7
142+
CFG_RELEASE = 0.8-pre
143143
CFG_VERSION = $(CFG_RELEASE)
144144
# windows exe's need numeric versions - don't use anything but
145145
# numbers and dots here
146-
CFG_VERSION_WIN = 0.7
146+
CFG_VERSION_WIN = 0.8
147147

148148
ifneq ($(wildcard $(CFG_GIT)),)
149149
ifneq ($(wildcard $(CFG_GIT_DIR)),)

configure

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ fi
402402
step_msg "looking for build programs"
403403

404404
probe_need CFG_PERL perl
405-
probe_need CFG_CURL curl
405+
probe_need CFG_CURLORWGET curl wget
406406
probe_need CFG_PYTHON python2.7 python2.6 python2 python
407407

408408
python_version=$($CFG_PYTHON -V 2>&1)

doc/rust.md

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ The keywords are the following strings:
207207
as
208208
break
209209
copy
210-
do drop
210+
do
211211
else enum extern
212212
false fn for
213213
if impl
@@ -1107,20 +1107,20 @@ The derived types are borrowed pointers with the `'static` lifetime,
11071107
fixed-size arrays, tuples, and structs.
11081108

11091109
~~~~
1110-
static bit1: uint = 1 << 0;
1111-
static bit2: uint = 1 << 1;
1110+
static BIT1: uint = 1 << 0;
1111+
static BIT2: uint = 1 << 1;
11121112
1113-
static bits: [uint, ..2] = [bit1, bit2];
1114-
static string: &'static str = "bitstring";
1113+
static BITS: [uint, ..2] = [BIT1, BIT2];
1114+
static STRING: &'static str = "bitstring";
11151115
11161116
struct BitsNStrings<'self> {
11171117
mybits: [uint, ..2],
11181118
mystring: &'self str
11191119
}
11201120
11211121
static bits_n_strings: BitsNStrings<'static> = BitsNStrings {
1122-
mybits: bits,
1123-
mystring: string
1122+
mybits: BITS,
1123+
mystring: STRING
11241124
};
11251125
~~~~
11261126

@@ -2869,24 +2869,19 @@ The kinds are:
28692869
: Types of this kind can be safely sent between tasks.
28702870
This kind includes scalars, owning pointers, owned closures, and
28712871
structural types containing only other owned types. All `Send` types are `Static`.
2872-
`Static`
2873-
: Types of this kind do not contain any borrowed pointers;
2874-
this can be a useful guarantee for code that breaks borrowing assumptions using [`unsafe` operations](#unsafe-functions).
28752872
`Copy`
28762873
: This kind includes all types that can be copied. All types with
28772874
sendable kind are copyable, as are managed boxes, managed closures,
28782875
trait types, and structural types built out of these.
28792876
Types with destructors (types that implement `Drop`) can not implement `Copy`.
28802877
`Drop`
28812878
: This is not strictly a kind, but its presence interacts with kinds: the `Drop`
2882-
trait provides a single method `finalize` that takes no parameters, and is run
2879+
trait provides a single method `drop` that takes no parameters, and is run
28832880
when values of the type are dropped. Such a method is called a "destructor",
28842881
and are always executed in "top-down" order: a value is completely destroyed
28852882
before any of the values it owns run their destructors. Only `Send` types
28862883
that do not implement `Copy` can implement `Drop`.
28872884

2888-
> **Note:** The `finalize` method may be renamed in future versions of Rust.
2889-
28902885
_Default_
28912886
: Types with destructors, closure environments,
28922887
and various other _non-first-class_ types,

doc/tutorial-container.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ impl Iterator<int> for ZeroStream {
108108
## Container iterators
109109
110110
Containers implement iteration over the contained elements by returning an
111-
iterator object. For example, vectors have four iterators available:
111+
iterator object. For example, vector slices have four iterators available:
112112
113113
* `vector.iter()`, for immutable references to the elements
114114
* `vector.mut_iter()`, for mutable references to the elements

doc/tutorial.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -237,8 +237,8 @@ can specify a variable's type by following it with a colon, then the type
237237
name. Static items, on the other hand, always require a type annotation.
238238

239239
~~~~
240-
static monster_factor: float = 57.8;
241-
let monster_size = monster_factor * 10.0;
240+
static MONSTER_FACTOR: float = 57.8;
241+
let monster_size = MONSTER_FACTOR * 10.0;
242242
let monster_size: int = 50;
243243
~~~~
244244

mk/platform.mk

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -323,9 +323,9 @@ AR_i686-pc-mingw32=$(AR)
323323
CFG_LIB_NAME_i686-pc-mingw32=$(1).dll
324324
CFG_LIB_GLOB_i686-pc-mingw32=$(1)-*.dll
325325
CFG_LIB_DSYM_GLOB_i686-pc-mingw32=$(1)-*.dylib.dSYM
326-
CFG_GCCISH_CFLAGS_i686-pc-mingw32 := -Wall -Werror -g -march=i686
326+
CFG_GCCISH_CFLAGS_i686-pc-mingw32 := -Wall -Werror -g -m32 -march=i686 -D_WIN32_WINNT=0x0600
327327
CFG_GCCISH_CXXFLAGS_i686-pc-mingw32 := -fno-rtti
328-
CFG_GCCISH_LINK_FLAGS_i686-pc-mingw32 := -shared -fPIC -g
328+
CFG_GCCISH_LINK_FLAGS_i686-pc-mingw32 := -shared -fPIC -g -m32
329329
CFG_GCCISH_DEF_FLAG_i686-pc-mingw32 :=
330330
CFG_GCCISH_PRE_LIB_FLAGS_i686-pc-mingw32 :=
331331
CFG_GCCISH_POST_LIB_FLAGS_i686-pc-mingw32 :=
@@ -367,6 +367,31 @@ CFG_LDPATH_i586-mingw32msvc :=
367367
CFG_RUN_i586-mingw32msvc=
368368
CFG_RUN_TARG_i586-mingw32msvc=
369369

370+
# x86_64-w64-mingw32 configuration
371+
CC_x86_64-w64-mingw32=$(CC)
372+
CXX_x86_64-w64-mingw32=$(CXX)
373+
CPP_x86_64-w64-mingw32=$(CPP)
374+
AR_x86_64-w64-mingw32=$(AR)
375+
CFG_LIB_NAME_x86_64-w64-mingw32=$(1).dll
376+
CFG_LIB_GLOB_x86_64-w64-mingw32=$(1)-*.dll
377+
CFG_LIB_DSYM_GLOB_x86_64-w64-mingw32=$(1)-*.dylib.dSYM
378+
CFG_GCCISH_CFLAGS_x86_64-w64-mingw32 := -Wall -Werror -g -m64 -D_WIN32_WINNT=0x0600
379+
CFG_GCCISH_CXXFLAGS_x86_64-w64-mingw32 := -fno-rtti
380+
CFG_GCCISH_LINK_FLAGS_x86_64-w64-mingw32 := -shared -fPIC -g -m64
381+
CFG_GCCISH_DEF_FLAG_x86_64-w64-mingw32 :=
382+
CFG_GCCISH_PRE_LIB_FLAGS_x86_64-w64-mingw32 :=
383+
CFG_GCCISH_POST_LIB_FLAGS_x86_64-w64-mingw32 :=
384+
CFG_DEF_SUFFIX_x86_64-w64-mingw32 := .mingw32.def
385+
CFG_INSTALL_NAME_x86_64-w64-mingw32 =
386+
CFG_LIBUV_LINK_FLAGS_x86_64-w64-mingw32 := -lWs2_32 -lpsapi -liphlpapi
387+
CFG_EXE_SUFFIX_x86_64-w64-mingw32 := .exe
388+
CFG_WINDOWSY_x86_64-w64-mingw32 := 1
389+
CFG_UNIXY_x86_64-w64-mingw32 :=
390+
CFG_PATH_MUNGE_x86_64-w64-mingw32 :=
391+
CFG_LDPATH_x86_64-w64-mingw32 :=$(CFG_LDPATH_x86_64-w64-mingw32):$(PATH)
392+
CFG_RUN_x86_64-w64-mingw32=PATH="$(CFG_LDPATH_x86_64-w64-mingw32):$(1)" $(2)
393+
CFG_RUN_TARG_x86_64-w64-mingw32=$(call CFG_RUN_x86_64-w64-mingw32,$(HLIB$(1)_H_$(CFG_BUILD_TRIPLE)),$(2))
394+
370395
# x86_64-unknown-freebsd configuration
371396
CC_x86_64-unknown-freebsd=$(CC)
372397
CXX_x86_64-unknown-freebsd=$(CXX)

mk/tests.mk

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
# The names of crates that must be tested
1717
TEST_TARGET_CRATES = std extra
18-
TEST_HOST_CRATES = syntax rustc rustdoc rusti rust rustpkg
18+
TEST_HOST_CRATES = syntax rustc rustdoc rust rustpkg rusti
1919
TEST_CRATES = $(TEST_TARGET_CRATES) $(TEST_HOST_CRATES)
2020

2121
# Markdown files under doc/ that should have their code extracted and run
@@ -157,6 +157,7 @@ check-test: cleantestlibs cleantmptestlogs all check-stage2-rfail
157157

158158
check-lite: cleantestlibs cleantmptestlogs \
159159
check-stage2-std check-stage2-extra check-stage2-rpass \
160+
check-stage2-rustpkg check-stage2-rusti \
160161
check-stage2-rfail check-stage2-cfail
161162
$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
162163

mk/tools.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ $$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUSTPKG_$(4)): \
5050
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_EXTRALIB_$(4)) \
5151
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUSTC_$(4))
5252
@$$(call E, compile_and_link: $$@)
53-
$$(STAGE$(1)_T_$(4)_H_$(3)) -o $$@ $$< && touch $$@
53+
$$(STAGE$(1)_T_$(4)_H_$(3)) $$(WFLAGS_ST$(1)) -o $$@ $$< && touch $$@
5454

5555
$$(TBIN$(1)_T_$(4)_H_$(3))/rustpkg$$(X_$(4)): \
5656
$$(DRIVER_CRATE) \

src/compiletest/common.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
use core::prelude::*;
12-
1311
#[deriving(Eq)]
1412
pub enum mode {
1513
mode_compile_fail,

src/compiletest/compiletest.rs

Lines changed: 12 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,16 @@
1111
#[crate_type = "bin"];
1212

1313
#[allow(non_camel_case_types)];
14+
#[allow(unrecognized_lint)]; // NOTE: remove after snapshot
15+
#[deny(warnings)];
1416

15-
#[no_core]; // XXX: Remove after snapshot
16-
#[no_std];
17+
extern mod extra;
1718

18-
extern mod core(name = "std", vers = "0.7");
19-
extern mod extra(name = "extra", vers = "0.7");
20-
21-
use core::prelude::*;
22-
use core::*;
19+
use std::os;
2320

2421
use extra::getopts;
2522
use extra::test;
2623

27-
use core::result::{Ok, Err};
28-
2924
use common::config;
3025
use common::mode_run_pass;
3126
use common::mode_run_fail;
@@ -42,13 +37,6 @@ pub mod runtest;
4237
pub mod common;
4338
pub mod errors;
4439

45-
mod std {
46-
pub use core::cmp;
47-
pub use core::str;
48-
pub use core::sys;
49-
pub use core::unstable;
50-
}
51-
5240
pub fn main() {
5341
let args = os::args();
5442
let config = parse_config(args);
@@ -98,8 +86,8 @@ pub fn parse_config(args: ~[~str]) -> config {
9886
run_ignored: getopts::opt_present(matches, "ignored"),
9987
filter:
10088
if !matches.free.is_empty() {
101-
option::Some(copy matches.free[0])
102-
} else { option::None },
89+
Some(copy matches.free[0])
90+
} else { None },
10391
logfile: getopts::opt_maybe_str(matches, "logfile").map(|s| Path(*s)),
10492
runtool: getopts::opt_maybe_str(matches, "runtool"),
10593
rustcflags: getopts::opt_maybe_str(matches, "rustcflags"),
@@ -148,8 +136,8 @@ pub fn log_config(config: &config) {
148136

149137
pub fn opt_str<'a>(maybestr: &'a Option<~str>) -> &'a str {
150138
match *maybestr {
151-
option::None => "(none)",
152-
option::Some(ref s) => {
139+
None => "(none)",
140+
Some(ref s) => {
153141
let s: &'a str = *s;
154142
s
155143
}
@@ -161,7 +149,7 @@ pub fn opt_str2(maybestr: Option<~str>) -> ~str {
161149
}
162150

163151
pub fn str_opt(maybestr: ~str) -> Option<~str> {
164-
if maybestr != ~"(none)" { option::Some(maybestr) } else { option::None }
152+
if maybestr != ~"(none)" { Some(maybestr) } else { None }
165153
}
166154

167155
pub fn str_mode(s: ~str) -> mode {
@@ -199,8 +187,8 @@ pub fn test_opts(config: &config) -> test::TestOpts {
199187
logfile: copy config.logfile,
200188
run_tests: true,
201189
run_benchmarks: false,
202-
save_results: option::None,
203-
compare_results: option::None
190+
save_results: None,
191+
compare_results: None
204192
}
205193
}
206194

@@ -268,7 +256,7 @@ pub fn make_test_name(config: &config, testfile: &Path) -> test::TestName {
268256
}
269257

270258
pub fn make_test_closure(config: &config, testfile: &Path) -> test::TestFn {
271-
use core::cell::Cell;
259+
use std::cell::Cell;
272260
let config = Cell::new(copy *config);
273261
let testfile = Cell::new(testfile.to_str());
274262
test::DynTestFn(|| { runtest::run(config.take(), testfile.take()) })

src/compiletest/errors.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
use core::prelude::*;
12-
13-
use core::io;
11+
use std::io;
1412

1513
pub struct ExpectedError { line: uint, kind: ~str, msg: ~str }
1614

src/compiletest/header.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,11 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
use core::prelude::*;
12-
1311
use common::config;
1412
use common;
1513

16-
use core::io;
17-
use core::os;
14+
use std::io;
15+
use std::os;
1816

1917
pub struct TestProps {
2018
// Lines that should be expected, in order, on standard out

src/compiletest/procsrv.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,9 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
use core::prelude::*;
12-
13-
use core::os;
14-
use core::run;
15-
use core::str;
11+
use std::os;
12+
use std::run;
13+
use std::str;
1614

1715
#[cfg(target_os = "win32")]
1816
fn target_env(lib_path: &str, prog: &str) -> ~[(~str,~str)] {

src/compiletest/runtest.rs

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
use core::prelude::*;
12-
1311
use common::mode_run_pass;
1412
use common::mode_run_fail;
1513
use common::mode_compile_fail;
@@ -22,10 +20,10 @@ use procsrv;
2220
use util;
2321
use util::logv;
2422

25-
use core::io;
26-
use core::os;
27-
use core::uint;
28-
use core::vec;
23+
use std::io;
24+
use std::os;
25+
use std::uint;
26+
use std::vec;
2927

3028
pub fn run(config: config, testfile: ~str) {
3129
if config.verbose {
@@ -79,8 +77,8 @@ fn run_rfail_test(config: &config, props: &TestProps, testfile: &Path) {
7977
};
8078
8179
// The value our Makefile configures valgrind to return on failure
82-
static valgrind_err: int = 100;
83-
if ProcRes.status == valgrind_err {
80+
static VALGRIND_ERR: int = 100;
81+
if ProcRes.status == VALGRIND_ERR {
8482
fatal_ProcRes(~"run-fail test isn't valgrind-clean!", &ProcRes);
8583
}
8684
@@ -102,8 +100,8 @@ fn run_rfail_test(config: &config, props: &TestProps, testfile: &Path) {
102100

103101
fn check_correct_failure_status(ProcRes: &ProcRes) {
104102
// The value the rust runtime returns on failure
105-
static rust_err: int = 101;
106-
if ProcRes.status != rust_err {
103+
static RUST_ERR: int = 101;
104+
if ProcRes.status != RUST_ERR {
107105
fatal_ProcRes(
108106
fmt!("failure produced the wrong error code: %d",
109107
ProcRes.status),
@@ -601,9 +599,8 @@ fn make_run_args(config: &config, _props: &TestProps, testfile: &Path) ->
601599
ProcArgs {
602600
// If we've got another tool to run under (valgrind),
603601
// then split apart its command
604-
let toolargs = split_maybe_args(&config.runtool);
605-
606-
let mut args = toolargs + [make_exe_name(config, testfile).to_str()];
602+
let mut args = split_maybe_args(&config.runtool);
603+
args.push(make_exe_name(config, testfile).to_str());
607604
let prog = args.shift();
608605
return ProcArgs {prog: prog, args: args};
609606
}

src/compiletest/util.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,10 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
use core::prelude::*;
12-
1311
use common::config;
1412

15-
use core::io;
16-
use core::os::getenv;
13+
use std::io;
14+
use std::os::getenv;
1715

1816
pub fn make_new_path(path: &str) -> ~str {
1917

0 commit comments

Comments
 (0)