Skip to content

Commit 0d23584

Browse files
committed
---
yaml --- r: 102205 b: refs/heads/master c: 780adff h: refs/heads/master i: 102203: c86d174 v: v3
1 parent 2a210dd commit 0d23584

File tree

449 files changed

+6037
-6598
lines changed

Some content is hidden

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

449 files changed

+6037
-6598
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 04dc3e4985b635d21d2af9b1fd65ad0eb0884b74
2+
refs/heads/master: 780adfffc39bcb9d32685bd36e2f6b6e6a178dee
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 6e7f170fedd3c526a643c0b2d13863acd982be02
55
refs/heads/try: a97642026c18a624ff6ea01075dd9550f8ed07ff

trunk/.travis.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,13 @@ before_script:
3939
# manually disables bringing in these two libraries, but the stock LLVM was
4040
# apparently built with these options. We provide these options when building so
4141
# the `rustc` binary can successfully link.
42-
script:
43-
- make tidy
44-
- RUSTFLAGS="-C link-args='-lffi -lncurses'" make -j4 rustc-stage1
45-
- make check-stage1-std check-stage1-rpass check-stage1-cfail check-stage1-rfail
42+
#
43+
# As a result of https://github.com/travis-ci/travis-ci/issues/1066, we run
44+
# everything in one large command instead of multiple commands.
45+
script: |
46+
make tidy &&
47+
RUSTFLAGS="-C link-args='-lffi -lncurses'" make -j4 rustc-stage1 &&
48+
make check-stage1-std check-stage1-rpass check-stage1-cfail check-stage1-rfail
4649
4750
env:
4851
- NO_BENCH=1

trunk/configure

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -803,7 +803,6 @@ do
803803
make_dir $h/test/doc-guide-pointers
804804
make_dir $h/test/doc-guide-container
805805
make_dir $h/test/doc-guide-tasks
806-
make_dir $h/test/doc-guide-conditions
807806
make_dir $h/test/doc-complement-cheatsheet
808807
make_dir $h/test/doc-rust
809808
done

trunk/mk/crates.mk

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,18 +65,18 @@ DEPS_rustc := syntax native:rustllvm flate arena serialize sync getopts \
6565
collections time extra
6666
DEPS_rustdoc := rustc native:sundown serialize sync getopts collections \
6767
test time
68-
DEPS_flate := std native:miniz
68+
DEPS_flate := std extra native:miniz
6969
DEPS_arena := std collections
7070
DEPS_glob := std
71-
DEPS_serialize := std
72-
DEPS_term := std
71+
DEPS_serialize := std collections
72+
DEPS_term := std collections
7373
DEPS_semver := std
7474
DEPS_uuid := std serialize
7575
DEPS_sync := std
7676
DEPS_getopts := std
77-
DEPS_collections := std serialize
77+
DEPS_collections := std
7878
DEPS_fourcc := syntax std
79-
DEPS_num := std extra
79+
DEPS_num := std
8080
DEPS_test := std extra collections getopts serialize term
8181
DEPS_time := std serialize
8282

trunk/mk/main.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -345,10 +345,10 @@ endif
345345
ifdef CFG_DISABLE_RPATH
346346
ifeq ($$(OSTYPE_$(3)),apple-darwin)
347347
RPATH_VAR$(1)_T_$(2)_H_$(3) := \
348-
DYLD_LIBRARY_PATH="$$$$DYLD_LIBRARY_PATH:$$(HLIB$(1)_H_$(3))"
348+
DYLD_LIBRARY_PATH="$$$$DYLD_LIBRARY_PATH:$$(CURDIR)/$$(HLIB$(1)_H_$(3))"
349349
else
350350
RPATH_VAR$(1)_T_$(2)_H_$(3) := \
351-
LD_LIBRARY_PATH="$$$$LD_LIBRARY_PATH:$$(HLIB$(1)_H_$(3))"
351+
LD_LIBRARY_PATH="$$$$LD_LIBRARY_PATH:$$(CURDIR)/$$(HLIB$(1)_H_$(3))"
352352
endif
353353
else
354354
RPATH_VAR$(1)_T_$(2)_H_$(3) :=

trunk/mk/prepare.mk

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#
1717
# It requires the following variables to be set:
1818
#
19-
# PREPARE_HOST - the host triple
19+
# PREPARE_HOST - the host triple
2020
# PREPARE_TARGETS - the target triples, space separated
2121
# PREPARE_DEST_DIR - the directory to put the image
2222

@@ -172,7 +172,10 @@ prepare-target-$(2)-host-$(3)-$(1): \
172172
$$(if $$(findstring $(2),$$(CFG_HOST)), \
173173
$$(foreach crate,$$(HOST_CRATES), \
174174
$$(TLIB$(1)_T_$(2)_H_$(3))/stamp.$$(crate)),)
175-
# Only install if this host and target combo is being prepared
175+
# Only install if this host and target combo is being prepared. Also be sure to
176+
# *not* install the rlibs for host crates because there's no need to statically
177+
# link against most of them. They just produce a large amount of extra size
178+
# bloat.
176179
$$(if $$(findstring $(1), $$(PREPARE_STAGE)),\
177180
$$(if $$(findstring $(2), $$(PREPARE_TARGETS)),\
178181
$$(if $$(findstring $(3), $$(PREPARE_HOST)),\
@@ -182,8 +185,7 @@ prepare-target-$(2)-host-$(3)-$(1): \
182185
$$(call PREPARE_LIB,$$(call CFG_RLIB_GLOB,$$(crate))))\
183186
$$(if $$(findstring $(2),$$(CFG_HOST)),\
184187
$$(foreach crate,$$(HOST_CRATES),\
185-
$$(call PREPARE_LIB,$$(call CFG_LIB_GLOB_$(2),$$(crate)))\
186-
$$(call PREPARE_LIB,$$(call CFG_RLIB_GLOB,$$(crate)))),)\
188+
$$(call PREPARE_LIB,$$(call CFG_LIB_GLOB_$(2),$$(crate)))),)\
187189
$$(call PREPARE_LIB,libmorestack.a) \
188190
$$(call PREPARE_LIB,libcompiler-rt.a),),),)
189191
endef

trunk/mk/tests.mk

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,9 @@ endif
171171
# Main test targets
172172
######################################################################
173173

174-
check: cleantestlibs cleantmptestlogs tidy all check-stage2
174+
check: cleantmptestlogs cleantestlibs tidy check-notidy
175+
176+
check-notidy: cleantmptestlogs cleantestlibs all check-stage2
175177
$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
176178

177179
check-lite: cleantestlibs cleantmptestlogs \
@@ -706,8 +708,9 @@ check-stage$(1)-T-$(2)-H-$(3)-doc-$(4)-exec: $$(call TEST_OK_FILE,$(1),$(2),$(3)
706708
ifeq ($(2),$$(CFG_BUILD))
707709
$$(call TEST_OK_FILE,$(1),$(2),$(3),doc-$(4)): $$(DOCTESTDEP_$(1)_$(2)_$(3)_$(4))
708710
@$$(call E, run doc-$(4) [$(2)])
709-
$$(Q)$$(HBIN$(1)_H_$(3))/rustdoc$$(X_$(3)) --test \
710-
$$(CRATEFILE_$(4)) --test-args "$$(TESTARGS)" && touch $$@
711+
$$(Q)$$(RPATH_VAR$(1)_T_$(2)_H_$(3)) \
712+
$$(HBIN$(1)_H_$(3))/rustdoc$$(X_$(3)) --test \
713+
$$(CRATEFILE_$(4)) --test-args "$$(TESTARGS)" && touch $$@
711714
else
712715
$$(call TEST_OK_FILE,$(1),$(2),$(3),doc-$(4)):
713716
touch $$@
@@ -934,7 +937,8 @@ $(3)/test/run-make/%-$(1)-T-$(2)-H-$(3).ok: \
934937
$(3)/test/run-make/$$* \
935938
"$$(CC_$(3)) $$(CFG_GCCISH_CFLAGS_$(3))" \
936939
$$(HBIN$(1)_H_$(3))/rustdoc$$(X_$(3)) \
937-
"$$(TESTNAME)"
940+
"$$(TESTNAME)" \
941+
"$$(RPATH_VAR$(1)_T_$(2)_H_$(3))"
938942
@touch $$@
939943
else
940944
# FIXME #11094 - The above rule doesn't work right for multiple targets

trunk/src/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,21 @@ Source layout:
1010
| `libgreen/` | The M:N runtime library |
1111
| `libnative/` | The 1:1 runtime library |
1212
| `libsyntax/` | The Rust parser and pretty-printer |
13+
| `libcollections/` | A collection of useful data structures and containers |
14+
| `libnum/` | Extended number support library (complex, rational, etc) |
15+
| `libtest/` | Rust's test-runner code |
16+
| ------------------- | --------------------------------------------------------- |
17+
| `libarena/` | The arena (a fast but limited) memory allocator |
18+
| `libflate/` | Simple compression library |
19+
| `libfourcc/` | Data format identifier library |
20+
| `libgetopts/` | Get command-line-options library |
21+
| `libglob/` | Unix glob patterns library |
22+
| `libsemver/` | Rust's semantic versioning library |
23+
| `libserialize/` | Encode-Decode types library |
24+
| `libsync/` | Concurrency mechanisms and primitives |
25+
| `libterm/` | ANSI color library for terminals |
26+
| `libtime/` | Time operations library |
27+
| `libuuid/` | UUID's handling code |
1328
| ------------------- | --------------------------------------------------------- |
1429
| `rt/` | The runtime system |
1530
| `rt/rust_*.c` | - Some of the runtime services |
@@ -31,8 +46,13 @@ Source layout:
3146
| ------------------- | --------------------------------------------------------- |
3247
| `librustdoc/` | The Rust API documentation tool |
3348
| `libuv/` | The libuv submodule |
49+
| `librustuv/` | Rust libuv support code |
3450
| ------------------- | --------------------------------------------------------- |
3551
| `llvm/` | The LLVM submodule |
3652
| `rustllvm/` | LLVM support code |
3753
| ------------------- | --------------------------------------------------------- |
3854
| `etc/` | Scripts, editors support, misc |
55+
56+
57+
NOTE: This list (especially the second part of the table which contains modules and libraries)
58+
is highly volatile and subject to change.

trunk/src/compiletest/procsrv.rs

Lines changed: 35 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,8 @@
99
// except according to those terms.
1010

1111
use std::os;
12-
use std::run;
1312
use std::str;
14-
use std::io::process::ProcessExit;
13+
use std::io::process::{ProcessExit, Process, ProcessConfig, ProcessOutput};
1514

1615
#[cfg(target_os = "win32")]
1716
fn target_env(lib_path: &str, prog: &str) -> ~[(~str,~str)] {
@@ -36,8 +35,26 @@ fn target_env(lib_path: &str, prog: &str) -> ~[(~str,~str)] {
3635
#[cfg(target_os = "linux")]
3736
#[cfg(target_os = "macos")]
3837
#[cfg(target_os = "freebsd")]
39-
fn target_env(_lib_path: &str, _prog: &str) -> ~[(~str,~str)] {
40-
os::env()
38+
fn target_env(lib_path: &str, prog: &str) -> ~[(~str,~str)] {
39+
// Make sure we include the aux directory in the path
40+
let aux_path = prog + ".libaux";
41+
42+
let mut env = os::env();
43+
let var = if cfg!(target_os = "macos") {
44+
"DYLD_LIBRARY_PATH"
45+
} else {
46+
"LD_LIBRARY_PATH"
47+
};
48+
let prev = match env.iter().position(|&(ref k, _)| k.as_slice() == var) {
49+
Some(i) => env.remove(i).unwrap().val1(),
50+
None => ~"",
51+
};
52+
env.push((var.to_owned(), if prev.is_empty() {
53+
lib_path + ":" + aux_path
54+
} else {
55+
lib_path + ":" + aux_path + ":" + prev
56+
}));
57+
return env;
4158
}
4259

4360
pub struct Result {status: ProcessExit, out: ~str, err: ~str}
@@ -49,17 +66,19 @@ pub fn run(lib_path: &str,
4966
input: Option<~str>) -> Option<Result> {
5067

5168
let env = env + target_env(lib_path, prog);
52-
let mut opt_process = run::Process::new(prog, args, run::ProcessOptions {
53-
env: Some(env),
54-
.. run::ProcessOptions::new()
69+
let mut opt_process = Process::configure(ProcessConfig {
70+
program: prog,
71+
args: args,
72+
env: Some(env.as_slice()),
73+
.. ProcessConfig::new()
5574
});
5675

5776
match opt_process {
5877
Ok(ref mut process) => {
5978
for input in input.iter() {
60-
process.input().write(input.as_bytes()).unwrap();
79+
process.stdin.get_mut_ref().write(input.as_bytes()).unwrap();
6180
}
62-
let run::ProcessOutput { status, output, error } = process.finish_with_output();
81+
let ProcessOutput { status, output, error } = process.wait_with_output();
6382

6483
Some(Result {
6584
status: status,
@@ -75,18 +94,20 @@ pub fn run_background(lib_path: &str,
7594
prog: &str,
7695
args: &[~str],
7796
env: ~[(~str, ~str)],
78-
input: Option<~str>) -> Option<run::Process> {
97+
input: Option<~str>) -> Option<Process> {
7998

8099
let env = env + target_env(lib_path, prog);
81-
let opt_process = run::Process::new(prog, args, run::ProcessOptions {
82-
env: Some(env),
83-
.. run::ProcessOptions::new()
100+
let opt_process = Process::configure(ProcessConfig {
101+
program: prog,
102+
args: args,
103+
env: Some(env.as_slice()),
104+
.. ProcessConfig::new()
84105
});
85106

86107
match opt_process {
87108
Ok(mut process) => {
88109
for input in input.iter() {
89-
process.input().write(input.as_bytes()).unwrap();
110+
process.stdin.get_mut_ref().write(input.as_bytes()).unwrap();
90111
}
91112

92113
Some(process)

trunk/src/compiletest/runtest.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ fn run_debuginfo_test(config: &config, props: &TestProps, testfile: &Path) {
360360
stdout: out,
361361
stderr: err,
362362
cmdline: cmdline};
363-
process.force_destroy().unwrap();
363+
process.signal_kill().unwrap();
364364
}
365365

366366
_=> {

trunk/src/doc/complement-cheatsheet.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ Description C signature Equivalent
211211
---------------------- ---------------------------------------------- ------------------------------------------
212212
no parameters `void foo(void);` `fn foo();`
213213
return value `int foo(void);` `fn foo() -> c_int;`
214-
function parameters `void foo(int x, int y);` `fn foo(x: int, y: int);`
214+
function parameters `void foo(int x, int y);` `fn foo(x: c_int, y: c_int);`
215215
in-out pointers `void foo(const int* in_ptr, int* out_ptr);` `fn foo(in_ptr: *c_int, out_ptr: *mut c_int);`
216216
217217
Note: The Rust signatures should be wrapped in an `extern "ABI" { ... }` block.

trunk/src/doc/guide-container.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ order.
3838
Each `HashMap` instance has a random 128-bit key to use with a keyed hash,
3939
making the order of a set of keys in a given hash table randomized. Rust
4040
provides a [SipHash](https://131002.net/siphash/) implementation for any type
41-
implementing the `IterBytes` trait.
41+
implementing the `Hash` trait.
4242

4343
## Double-ended queues
4444

@@ -186,12 +186,12 @@ let mut calls = 0;
186186
let it = xs.iter().scan((), |_, x| {
187187
calls += 1;
188188
if *x < 3 { Some(x) } else { None }});
189-
189+
190190
// the iterator will only yield 1 and 2 before returning None
191191
// If we were to call it 5 times, calls would end up as 5, despite
192192
// only 2 values being yielded (and therefore 3 unique calls being
193193
// made). The fuse() adaptor can fix this.
194-
194+
195195
let mut it = it.fuse();
196196
it.next();
197197
it.next();

trunk/src/doc/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ li {list-style-type: none; }
1919
* [Foreign Function Interface](guide-ffi.html)
2020
* [Macros](guide-macros.html)
2121
* [Testing](guide-testing.html)
22-
* [Conditions](guide-conditions.html)
2322
* [Rust's Runtime](guide-runtime.html)
2423

2524
# Libraries
@@ -43,6 +42,7 @@ li {list-style-type: none; }
4342
* [The `sync` library for concurrency-enabled mechanisms and primitives](sync/index.html)
4443
* [The `syntax` library, the Rust parser](syntax/index.html)
4544
* [The `term` terminal-handling library](term/index.html)
45+
* [The `test` library](test/index.html)
4646
* [The `uuid` 128-bit universally unique identifier library](uuid/index.html)
4747

4848
# Tooling

trunk/src/doc/po/ja/tutorial.md.po

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4421,15 +4421,15 @@ msgstr ""
44214421
#, fuzzy
44224422
#| msgid ""
44234423
#| "The full list of derivable traits is `Eq`, `TotalEq`, `Ord`, `TotalOrd`, "
4424-
#| "`Encodable` `Decodable`, `Clone`, `DeepClone`, `IterBytes`, `Rand`, "
4424+
#| "`Encodable` `Decodable`, `Clone`, `DeepClone`, `Hash`, `Rand`, "
44254425
#| "`Zero`, and `ToStr`."
44264426
msgid ""
44274427
"The full list of derivable traits is `Eq`, `TotalEq`, `Ord`, `TotalOrd`, "
4428-
"`Encodable` `Decodable`, `Clone`, `DeepClone`, `IterBytes`, `Rand`, "
4428+
"`Encodable` `Decodable`, `Clone`, `DeepClone`, `Hash`, `Rand`, "
44294429
"`Default`, `Zero`, and `ToStr`."
44304430
msgstr ""
44314431
"実装を自動的に導出可能なトレイトは、 `Eq`, `TotalEq`, `Ord`, `TotalOrd`, "
4432-
"`Encodable` `Decodable`, `Clone`, `DeepClone`, `IterBytes`, `Rand`, `Zero`, "
4432+
"`Encodable` `Decodable`, `Clone`, `DeepClone`, `Hash`, `Rand`, `Zero`, "
44334433
"および `ToStr` です。."
44344434

44354435
#. type: Plain text

trunk/src/doc/rust.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,7 @@ expression context, the final namespace qualifier is omitted.
467467
Two examples of paths with type arguments:
468468

469469
~~~~
470-
# use std::hashmap::HashMap;
470+
# struct HashMap<K, V>;
471471
# fn f() {
472472
# fn id<T>(t: T) -> T { t }
473473
type T = HashMap<int,~str>; // Type arguments used in a type expression
@@ -875,16 +875,16 @@ An example of what will and will not work for `use` items:
875875

876876
~~~~
877877
# #[allow(unused_imports)];
878-
use foo::extra::json; // good: foo is at the root of the crate
878+
use foo::native::start; // good: foo is at the root of the crate
879879
use foo::baz::foobaz; // good: foo is at the root of the crate
880880
881881
mod foo {
882-
extern crate extra;
882+
extern crate native;
883883
884-
use foo::extra::json; // good: foo is at crate root
885-
// use extra::json::*; // bad: extra is not at the crate root
886-
use self::baz::foobaz; // good: self refers to module 'foo'
887-
use foo::bar::foobar; // good: foo is at crate root
884+
use foo::native::start; // good: foo is at crate root
885+
// use native::start; // bad: native is not at the crate root
886+
use self::baz::foobaz; // good: self refers to module 'foo'
887+
use foo::bar::foobar; // good: foo is at crate root
888888
889889
pub mod bar {
890890
pub fn foobar() { }
@@ -2035,7 +2035,7 @@ Supported traits for `deriving` are:
20352035
* Comparison traits: `Eq`, `TotalEq`, `Ord`, `TotalOrd`.
20362036
* Serialization: `Encodable`, `Decodable`. These require `serialize`.
20372037
* `Clone` and `DeepClone`, to perform (deep) copies.
2038-
* `IterBytes`, to iterate over the bytes in a data type.
2038+
* `Hash`, to iterate over the bytes in a data type.
20392039
* `Rand`, to create a random instance of a data type.
20402040
* `Default`, to create an empty instance of a data type.
20412041
* `Zero`, to create an zero instance of a numeric data type.

0 commit comments

Comments
 (0)