Skip to content

Commit b9caad1

Browse files
committed
---
yaml --- r: 80949 b: refs/heads/snap-stage3 c: 567c567 h: refs/heads/master i: 80947: 16ee098 v: v3
1 parent 1cf3e6c commit b9caad1

Some content is hidden

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

64 files changed

+1478
-2472
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
refs/heads/master: 4c6bf4872012c010f84dc7fa2cdfe87522533f89
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: ad5f619d8ac0ca4c9964a4242925c3af797d31c0
4+
refs/heads/snap-stage3: 567c567b2dabbab9d74cf565b252e5024900e290
55
refs/heads/try: 70152ff55722878cde684ee6462c14c65f2c4729
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b

branches/snap-stage3/RELEASES.txt

Lines changed: 0 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -1,148 +1,3 @@
1-
Version 0.8 (October 2013)
2-
--------------------------
3-
4-
* ~2100 changes, numerous bugfixes
5-
6-
* Language
7-
* The `for` loop syntax has changed to work with the `Iterator` trait.
8-
* At long last, unwinding works on Windows.
9-
* Default methods definitely mostly work.
10-
* Many trait inheritance bugs fixed.
11-
* Owned and borrowed trait objects work more reliably.
12-
* `copy` is no longer a keyword. It has been replaced by the `Clone` trait.
13-
* rustc no longer emits code for the `debug!` macro unless it is passed
14-
`--cfg debug`
15-
* mod.rs is now "blessed". When loading `mod foo;`, rustc will now look
16-
for foo.rs, then foo/mod.rs, and will generate an error when both are
17-
present.
18-
* Strings no longer contain trailing nulls. The new `std::c_str` module
19-
provides new mechanisms for converting to C strings.
20-
* The type of foreign functions is now `extern "C" fn` instead of `*u8'.
21-
* The FFI has been overhauled such that foreign functions are called directly,
22-
instead of through a stack-switching wrapper.
23-
* Calling a foreign function must be done through a Rust function with the
24-
`#[fixed_stack_segment]` attribute.
25-
* The `externfn!` macro can be used to declare both a foreign function and
26-
a `#[fixed_stack_segment]` wrapper at once.
27-
* `pub` and `priv` modifiers on `extern` blocks are no longer parsed.
28-
* `unsafe` is no longer allowed on extern fns - they are all unsafe.
29-
* `priv` is disallowed everywhere except for struct fields and enum variants.
30-
* `&T` (besides `&'static T`) is no longer allowed in `@T`.
31-
* `ref` bindings in irrefutable patterns work correctly now.
32-
* `char` is now prevented from containing invalid code points.
33-
* Casting to `bool` is no longer allowed.
34-
* `yield` is a reserved keyword.
35-
* `typeof` is a reserved keyword.
36-
* Crates may be imported by URL with `extern mod foo = "url";`.
37-
* Explicit enum discriminants may be given as uints as in `enum E { V = 0u }`
38-
* Static vectors can be initialized with repeating elements,
39-
e.g. `static foo: [u8, .. 100]: [0, .. 100];`.
40-
* Static structs can be initialized with functional record update,
41-
e.g. `static foo: Foo = Foo { a: 5, .. bar };`.
42-
* `cfg!` can be used to conditionally execute code based on the crate
43-
configuration, similarly to `#[cfg(...)]`.
44-
* The `unnecessary_qualification` lint detects unneeded module
45-
prefixes (default: allow).
46-
* Arithmetic operations have been implemented on the SIMD types in
47-
`std::unstable::simd`.
48-
* Exchange allocation headers were removed, reducing memory usage.
49-
* `format!` implements a completely new, extensible, and higher-performance
50-
string formatting system. It will replace `fmt!`.
51-
* `print!` and `println!` write formatted strings (using the `format!`
52-
extension) to stdout.
53-
* `write!` and `writeln!` write formatted strings (using the `format!`
54-
extension) to the new Writers in `std::rt::io`.
55-
* The library section in which a function or static is placed may
56-
be specified with `#[link_section = "..."]`.
57-
* The `proto!` syntax extension for defining bounded message protocols
58-
was removed.
59-
* `macro_rules!` is hygenic for `let` declarations.
60-
* The `#[export_name]` attribute specifies the name of a symbol.
61-
* `unreachable!` can be used to indicate unreachable code, and fails
62-
if executed.
63-
64-
* Libraries
65-
* std: Transitioned to the new runtime, written in Rust.
66-
* std: Added an experimental I/O library, `rt::io`, based on the new
67-
runtime.
68-
* std: A new generic `range` function was added to the prelude, replacing
69-
`uint::range` and friends.
70-
* std: `range_rev` no longer exists. Since range is an iterator it can be
71-
reversed with `range(lo, hi).invert()`.
72-
* std: The `chain` method on option renamed to `and_then`; `unwrap_or_default`
73-
renamed to `unwrap_or`.
74-
* std: The `iterator` module was renamed to `iter`.
75-
* std: Integral types now support the `checked_add`, `checked_sub`, and
76-
`checked_mul` operations for detecting overflow.
77-
* std: Many methods in `str`, `vec`, `option, `result` were renamed for
78-
consistency.
79-
* std: Methods are standardizing on conventions for casting methods:
80-
`to_foo` for copying, `into_foo` for moving, `as_foo` for temporary
81-
and cheap casts.
82-
* std: The `CString` type in `c_str` provides new ways to convert to and
83-
from C strings.
84-
* std: `DoubleEndedIterator` can yield elements in two directions.
85-
* std: The `mut_split` method on vectors partitions an `&mut [T]` into
86-
two splices.
87-
* std: `str::from_bytes` renamed to `str::from_utf8`.
88-
* std: `pop_opt` and `shift_opt` methods added to vectors.
89-
* std: The task-local data interface no longer uses @, and keys are
90-
no longer function pointers.
91-
* std: The `swap_unwrap` method of `Option` renamed to `take_unwrap`.
92-
* std: Added `SharedPort` to `comm`.
93-
* std: `Eq` has a default method for `ne`; only `eq` is required
94-
in implementations.
95-
* std: `Ord` has default methods for `le`, `gt` and `le`; only `lt`
96-
is required in implementations.
97-
* std: `is_utf8` performance is improved, impacting many string functions.
98-
* std: `os::MemoryMap` provides cross-platform mmap.
99-
* std: `ptr::offset` is now unsafe, but also more optimized. Offsets that
100-
are not 'in-bounds' are considered undefined.
101-
* std: Many freestanding functions in `vec` removed in favor of methods.
102-
* std: Many freestanding functions on scalar types removed in favor of
103-
methods.
104-
* std: Many options to task builders were removed since they don't make
105-
sense in the new scheduler design.
106-
* std: More containers implement `FromIterator` so can be created by the
107-
`collect` method.
108-
* std: More complete atomic types in `unstable::atomics`.
109-
* std: `comm::PortSet` removed.
110-
* std: Mutating methods in the `Set` and `Map` traits have been moved into
111-
the `MutableSet` and `MutableMap` traits. `Container::is_empty`,
112-
`Map::contains_key`, `MutableMap::insert`, and `MutableMap::remove` have
113-
default implementations.
114-
* extra: `dlist`, the doubly-linked list was modernized.
115-
* extra: Added a `hex` module with `ToHex` and `FromHex` traits.
116-
* extra: Added `glob` module, replacing `std::os::glob`.
117-
* extra: `rope` was removed.
118-
* extra: `deque` was renamed to `ringbuf`. `RingBuf` implements `Deque`.
119-
* extra: `net`, and `timer` were removed. The experimental replacements
120-
are `std::rt::io::net` and `std::rt::io::timer`.
121-
* extra: Iterators implemented for `SmallIntMap`.
122-
* extra: Iterators implemented for `Bitv` and `BitvSet`.
123-
* extra: `SmallIntSet` removed. Use `BitvSet`.
124-
* extra: Performance of JSON parsing greatly improved.
125-
* extra: `semver` updated to SemVer 2.0.0.
126-
* extra: `term` handles more terminals correctly.
127-
* extra: `dbg` module removed.
128-
129-
* Other
130-
* rustc's debug info generation (`-Z debug-info`) is greatly improved.
131-
* rustc accepts `--target-cpu` to compile to a specific CPU architecture,
132-
similarly to gcc's `--march` flag.
133-
* rustpkg has received many improvements.
134-
* rustpkg supports git tags as package IDs.
135-
* rustpkg builds into target-specific directories so it can be used for
136-
cross-compiling.
137-
* The number of concurrent test tasks is controlled by the environment
138-
variable RUST_TEST_TASKS.
139-
* The test harness can now report metrics for benchmarks.
140-
* All tools have man pages.
141-
* Programs compiled with `--test` now support the `-h` and `--help` flags.
142-
* The runtime uses jemalloc for allocations.
143-
* Segmented stacks are temporarily disabled as part of the transition to
144-
the new runtime. Stack overflows are possible!
145-
1461
Version 0.7 (July 2013)
1472
-----------------------
1483

branches/snap-stage3/man/rustpkg.1

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,6 @@ Remove all generated files from the \fIbuild\fR directory in the target's worksp
2727
Builds the specified target, and all its dependencies, and then installs the
2828
build products into the \fIlib\fR and \fIbin\fR directories of their respective
2929
workspaces.
30-
.TP
31-
\fBinit\fR
32-
Initializes the current working directory into a workspace.
3330

3431
.SS "BUILD COMMAND"
3532

@@ -62,17 +59,6 @@ Examples:
6259
$ rustpkg install github.com/mozilla/servo.git#1.2
6360
$ rustpkg install rust-glfw
6461

65-
.SS "INIT COMMAND"
66-
67-
rustpkg init
68-
69-
This will turn the current working directory into a workspace. The first
70-
command you run when starting off a new project.
71-
72-
Example:
73-
74-
$ rustpkg init
75-
7662
.SH "ENVIRONMENT"
7763

7864
.TP

branches/snap-stage3/mk/rt.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ RUNTIME_CXXS_$(1)_$(2) := \
7171
rt/sync/lock_and_signal.cpp \
7272
rt/sync/rust_thread.cpp \
7373
rt/rust_builtin.cpp \
74+
rt/rust_run_program.cpp \
7475
rt/rust_rng.cpp \
7576
rt/rust_upcall.cpp \
7677
rt/rust_uv.cpp \

branches/snap-stage3/src/compiletest/compiletest.rs

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -91,62 +91,64 @@ pub fn parse_config(args: ~[~str]) -> config {
9191
let matches =
9292
&match getopts::groups::getopts(args_, groups) {
9393
Ok(m) => m,
94-
Err(f) => fail!(f.to_err_msg())
94+
Err(f) => fail!(getopts::fail_str(f))
9595
};
9696

97-
if matches.opt_present("h") || matches.opt_present("help") {
97+
if getopts::opt_present(matches, "h") || getopts::opt_present(matches, "help") {
9898
let message = fmt!("Usage: %s [OPTIONS] [TESTNAME...]", argv0);
9999
println(getopts::groups::usage(message, groups));
100100
println("");
101101
fail!()
102102
}
103103

104104
fn opt_path(m: &getopts::Matches, nm: &str) -> Path {
105-
Path(m.opt_str(nm).unwrap())
105+
Path(getopts::opt_str(m, nm))
106106
}
107107

108108
config {
109-
compile_lib_path: matches.opt_str("compile-lib-path").unwrap(),
110-
run_lib_path: matches.opt_str("run-lib-path").unwrap(),
109+
compile_lib_path: getopts::opt_str(matches, "compile-lib-path"),
110+
run_lib_path: getopts::opt_str(matches, "run-lib-path"),
111111
rustc_path: opt_path(matches, "rustc-path"),
112-
clang_path: matches.opt_str("clang-path").map_move(|s| Path(s)),
113-
llvm_bin_path: matches.opt_str("llvm-bin-path").map_move(|s| Path(s)),
112+
clang_path: getopts::opt_maybe_str(matches, "clang-path").map_move(|s| Path(s)),
113+
llvm_bin_path: getopts::opt_maybe_str(matches, "llvm-bin-path").map_move(|s| Path(s)),
114114
src_base: opt_path(matches, "src-base"),
115115
build_base: opt_path(matches, "build-base"),
116116
aux_base: opt_path(matches, "aux-base"),
117-
stage_id: matches.opt_str("stage-id").unwrap(),
118-
mode: str_mode(matches.opt_str("mode").unwrap()),
119-
run_ignored: matches.opt_present("ignored"),
117+
stage_id: getopts::opt_str(matches, "stage-id"),
118+
mode: str_mode(getopts::opt_str(matches, "mode")),
119+
run_ignored: getopts::opt_present(matches, "ignored"),
120120
filter:
121121
if !matches.free.is_empty() {
122122
Some(matches.free[0].clone())
123123
} else {
124124
None
125125
},
126-
logfile: matches.opt_str("logfile").map_move(|s| Path(s)),
127-
save_metrics: matches.opt_str("save-metrics").map_move(|s| Path(s)),
126+
logfile: getopts::opt_maybe_str(matches, "logfile").map_move(|s| Path(s)),
127+
save_metrics: getopts::opt_maybe_str(matches, "save-metrics").map_move(|s| Path(s)),
128128
ratchet_metrics:
129-
matches.opt_str("ratchet-metrics").map_move(|s| Path(s)),
129+
getopts::opt_maybe_str(matches, "ratchet-metrics").map_move(|s| Path(s)),
130130
ratchet_noise_percent:
131-
matches.opt_str("ratchet-noise-percent").and_then(|s| from_str::<f64>(s)),
132-
runtool: matches.opt_str("runtool"),
133-
rustcflags: matches.opt_str("rustcflags"),
134-
jit: matches.opt_present("jit"),
135-
target: opt_str2(matches.opt_str("target")).to_str(),
136-
adb_path: opt_str2(matches.opt_str("adb-path")).to_str(),
131+
getopts::opt_maybe_str(matches,
132+
"ratchet-noise-percent").map_move(|s|
133+
from_str::<f64>(s).unwrap()),
134+
runtool: getopts::opt_maybe_str(matches, "runtool"),
135+
rustcflags: getopts::opt_maybe_str(matches, "rustcflags"),
136+
jit: getopts::opt_present(matches, "jit"),
137+
target: opt_str2(getopts::opt_maybe_str(matches, "target")).to_str(),
138+
adb_path: opt_str2(getopts::opt_maybe_str(matches, "adb-path")).to_str(),
137139
adb_test_dir:
138-
opt_str2(matches.opt_str("adb-test-dir")).to_str(),
140+
opt_str2(getopts::opt_maybe_str(matches, "adb-test-dir")).to_str(),
139141
adb_device_status:
140-
if (opt_str2(matches.opt_str("target")) ==
142+
if (opt_str2(getopts::opt_maybe_str(matches, "target")) ==
141143
~"arm-linux-androideabi") {
142-
if (opt_str2(matches.opt_str("adb-test-dir")) !=
144+
if (opt_str2(getopts::opt_maybe_str(matches, "adb-test-dir")) !=
143145
~"(none)" &&
144-
opt_str2(matches.opt_str("adb-test-dir")) !=
146+
opt_str2(getopts::opt_maybe_str(matches, "adb-test-dir")) !=
145147
~"") { true }
146148
else { false }
147149
} else { false },
148-
test_shard: test::opt_shard(matches.opt_str("test-shard")),
149-
verbose: matches.opt_present("verbose")
150+
test_shard: test::opt_shard(getopts::opt_maybe_str(matches, "test-shard")),
151+
verbose: getopts::opt_present(matches, "verbose")
150152
}
151153
}
152154

0 commit comments

Comments
 (0)