Skip to content

Commit e6f0bd0

Browse files
committed
---
yaml --- r: 136817 b: refs/heads/dist-snap c: 88d1a22 h: refs/heads/master i: 136815: abd238f v: v3
1 parent ee6053e commit e6f0bd0

File tree

276 files changed

+11362
-8206
lines changed

Some content is hidden

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

276 files changed

+11362
-8206
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ refs/heads/try: 189b7332968972f34cdbbbd9b62d97ababf53059
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
9-
refs/heads/dist-snap: e543878f0f0896769bf239d9ccec0bd7e368d05e
9+
refs/heads/dist-snap: 88d1a22f76a774b2df3c904ceb54c86e58a859c3
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1212
refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0

branches/dist-snap/configure

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -453,12 +453,12 @@ valopt datadir "${CFG_PREFIX}/share" "install data"
453453
valopt infodir "${CFG_PREFIX}/share/info" "install additional info"
454454
valopt mandir "${CFG_PREFIX}/share/man" "install man pages in PATH"
455455

456-
valopt release-channel "source" "the name of the release channel to build"
456+
valopt release-channel "dev" "the name of the release channel to build"
457457

458458
# On windows we just store the libraries in the bin directory because
459459
# there's no rpath. This is where the build system itself puts libraries;
460460
# --libdir is used to configure the installation directory.
461-
# FIXME: Thise needs to parameterized over target triples. Do it in platform.mk
461+
# FIXME: This needs to parameterized over target triples. Do it in platform.mk
462462
CFG_LIBDIR_RELATIVE=lib
463463
if [ "$CFG_OSTYPE" = "pc-mingw32" ] || [ "$CFG_OSTYPE" = "w64-mingw32" ]
464464
then
@@ -479,16 +479,16 @@ validate_opt
479479

480480
# Validate the release channel
481481
case "$CFG_RELEASE_CHANNEL" in
482-
(source | nightly | beta | stable)
482+
(dev | nightly | beta | stable)
483483
;;
484484
(*)
485-
err "release channel must be 'source', 'nightly', 'beta' or 'stable'"
485+
err "release channel must be 'dev', 'nightly', 'beta' or 'stable'"
486486
;;
487487
esac
488488

489489
# Continue supporting the old --enable-nightly flag to transition the bots
490490
# XXX Remove me
491-
if [ $CFG_ENABLE_NIGHTLY -eq 1 ]
491+
if [ ! -z "$CFG_ENABLE_NIGHTLY" ]
492492
then
493493
CFG_RELEASE_CHANNEL=nightly
494494
putvar CFG_RELEASE_CHANNEL

branches/dist-snap/mk/crates.mk

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ CRATES := $(TARGET_CRATES) $(HOST_CRATES)
5959
TOOLS := compiletest rustdoc rustc
6060

6161
DEPS_core :=
62+
DEPS_libc := core
6263
DEPS_rlibc := core
6364
DEPS_unicode := core
6465
DEPS_alloc := core libc native:jemalloc
@@ -70,7 +71,7 @@ DEPS_graphviz := std
7071
DEPS_green := std native:context_switch
7172
DEPS_rustuv := std native:uv native:uv_support
7273
DEPS_native := std
73-
DEPS_syntax := std term serialize log fmt_macros debug arena
74+
DEPS_syntax := std term serialize log fmt_macros debug arena libc
7475
DEPS_rustc := syntax flate arena serialize getopts rbml \
7576
time log graphviz debug rustc_llvm rustc_back
7677
DEPS_rustc_llvm := native:rustllvm libc std

branches/dist-snap/mk/dist.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ distcheck-docs: dist-docs
283283

284284
ifdef CFG_WINDOWSY_$(CFG_BUILD)
285285

286-
dist: dist-win
286+
dist: dist-win dist-tar-bins
287287

288288
distcheck: distcheck-win
289289
$(Q)rm -Rf tmp/distcheck

branches/dist-snap/mk/docs.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ DOCS := index intro tutorial guide guide-ffi guide-macros guide-lifetimes \
2929
guide-tasks guide-container guide-pointers guide-testing \
3030
guide-runtime complement-bugreport \
3131
complement-lang-faq complement-design-faq complement-project-faq rust \
32-
rustdoc guide-unsafe guide-strings
32+
rustdoc guide-unsafe guide-strings reference
3333

34-
PDF_DOCS := guide rust
34+
PDF_DOCS := guide reference
3535

3636
RUSTDOC_DEPS_rust := doc/full-toc.inc
3737
RUSTDOC_FLAGS_rust := --html-in-header=doc/full-toc.inc

branches/dist-snap/mk/main.mk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ ifeq ($(CFG_RELEASE_CHANNEL),nightly)
3535
CFG_RELEASE=$(CFG_RELEASE_NUM)-nightly
3636
CFG_PACKAGE_VERS=nightly
3737
endif
38-
ifeq ($(CFG_RELEASE_CHANNEL),source)
39-
CFG_RELEASE=$(CFG_RELEASE_NUM)-pre
40-
CFG_PACKAGE_VERS=$(CFG_RELEASE_NUM)-pre
38+
ifeq ($(CFG_RELEASE_CHANNEL),dev)
39+
CFG_RELEASE=$(CFG_RELEASE_NUM)-dev
40+
CFG_PACKAGE_VERS=$(CFG_RELEASE_NUM)-dev
4141
endif
4242

4343
# The name of the package to use for creating tarballs, installers etc.

branches/dist-snap/mk/rt.mk

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,9 @@ LIBUV_CFLAGS_$(1) := $(subst -Werror,,$(CFG_GCCISH_CFLAGS_$(1)))
203203

204204
$$(LIBUV_MAKEFILE_$(1)): $$(LIBUV_DEPS) $$(MKFILE_DEPS) $$(LIBUV_STAMP_$(1))
205205
(cd $(S)src/libuv/ && \
206+
CC="$$(CC_$(1))" \
207+
CXX="$$(CXX_$(1))" \
208+
AR="$$(AR_$(1))" \
206209
$$(CFG_PYTHON) ./gyp_uv.py -f make -Dtarget_arch=$$(LIBUV_ARCH_$(1)) \
207210
-D ninja \
208211
-DOS=$$(LIBUV_OSTYPE_$(1)) \
@@ -225,6 +228,9 @@ else ifeq ($(OSTYPE_$(1)), apple-ios) # iOS
225228
$$(LIBUV_XCODEPROJ_$(1)): $$(LIBUV_DEPS) $$(MKFILE_DEPS) $$(LIBUV_STAMP_$(1))
226229
cp -rf $(S)src/libuv/ $$(LIBUV_BUILD_DIR_$(1))
227230
(cd $$(LIBUV_BUILD_DIR_$(1)) && \
231+
CC="$$(CC_$(1))" \
232+
CXX="$$(CXX_$(1))" \
233+
AR="$$(AR_$(1))" \
228234
$$(CFG_PYTHON) ./gyp_uv.py -f xcode \
229235
-D ninja \
230236
-R libuv)

branches/dist-snap/mk/stage0.mk

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@
33
$(HBIN0_H_$(CFG_BUILD))/:
44
mkdir -p $@
55

6+
# On windows these two are the same, so cause a redifinition warning
7+
ifneq ($(HBIN0_H_$(CFG_BUILD)),$(HLIB0_H_$(CFG_BUILD)))
68
$(HLIB0_H_$(CFG_BUILD))/:
79
mkdir -p $@
10+
endif
811

912
$(SNAPSHOT_RUSTC_POST_CLEANUP): \
1013
$(S)src/snapshots.txt \

branches/dist-snap/mk/tests.mk

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,14 @@ ifdef VERBOSE
6060
CTEST_TESTARGS += --verbose
6161
endif
6262

63+
# Setting locale ensures that gdb's output remains consistent.
64+
# This prevents tests from failing with some locales (fixes #17423).
65+
export LC_ALL=C
66+
6367
# If we're running perf then set this environment variable
6468
# to put the benchmarks into 'hard mode'
6569
ifeq ($(MAKECMDGOALS),perf)
66-
RUST_BENCH=1
67-
export RUST_BENCH
70+
export RUST_BENCH=1
6871
endif
6972

7073
TEST_LOG_FILE=tmp/check-stage$(1)-T-$(2)-H-$(3)-$(4).log

branches/dist-snap/src/compiletest/runtest.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,8 @@ fn run_debuginfo_gdb_test(config: &Config, props: &TestProps, testfile: &Path) {
444444
"-nx".to_string(),
445445
format!("-command={}", debugger_script.as_str().unwrap()));
446446

447-
let gdb_path = tool_path.append("/bin/arm-linux-androideabi-gdb");
447+
let mut gdb_path = tool_path;
448+
gdb_path.push_str("/bin/arm-linux-androideabi-gdb");
448449
let procsrv::Result {
449450
out,
450451
err,

branches/dist-snap/src/doc/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ To generate an HTML version of a doc from Markdown manually, you can do
3030
something like:
3131

3232
~~~~
33-
pandoc --from=markdown --to=html5 --number-sections -o rust.html rust.md
33+
pandoc --from=markdown --to=html5 --number-sections -o reference.html reference.md
3434
~~~~
3535

3636
(rust.md being the Rust Reference Manual.)

branches/dist-snap/src/doc/guide-pointers.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,7 @@ As being similar to this C code:
505505
{
506506
int *x;
507507
x = (int *)malloc(sizeof(int));
508+
*x = 5;
508509
509510
// stuff happens
510511

branches/dist-snap/src/doc/guide-testing.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ is not used.
7272
Tests that should not be run can be annotated with the `ignore`
7373
attribute. The existence of these tests will be noted in the test
7474
runner output, but the test will not be run. Tests can also be ignored
75-
by configuration so, for example, to ignore a test on windows you can
76-
write `#[ignore(cfg(target_os = "win32"))]`.
75+
by configuration using the `cfg_attr` attribute so, for example, to ignore a
76+
test on windows you can write `#[cfg_attr(windows, ignore)]`.
7777

7878
Tests that are intended to fail can be annotated with the
7979
`should_fail` attribute. The test will be run, and if it causes its

branches/dist-snap/src/doc/guide-unsafe.md

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -466,7 +466,7 @@ fn start(_argc: int, _argv: *const *const u8) -> int {
466466
// provided by libstd.
467467
#[lang = "stack_exhausted"] extern fn stack_exhausted() {}
468468
#[lang = "eh_personality"] extern fn eh_personality() {}
469-
#[lang = "sized"] trait Sized { }
469+
#[lang = "fail_fmt"] fn fail_fmt() -> ! { loop {} }
470470
# // fn main() {} tricked you, rustdoc!
471471
```
472472

@@ -489,32 +489,28 @@ pub extern fn main(argc: int, argv: *const *const u8) -> int {
489489
490490
#[lang = "stack_exhausted"] extern fn stack_exhausted() {}
491491
#[lang = "eh_personality"] extern fn eh_personality() {}
492-
#[lang = "sized"] trait Sized { }
492+
#[lang = "fail_fmt"] fn fail_fmt() -> ! { loop {} }
493493
# // fn main() {} tricked you, rustdoc!
494494
```
495495

496496

497497
The compiler currently makes a few assumptions about symbols which are available
498498
in the executable to call. Normally these functions are provided by the standard
499-
xlibrary, but without it you must define your own.
499+
library, but without it you must define your own.
500500

501-
The first of these two functions, `stack_exhausted`, is invoked whenever stack
501+
The first of these three functions, `stack_exhausted`, is invoked whenever stack
502502
overflow is detected. This function has a number of restrictions about how it
503503
can be called and what it must do, but if the stack limit register is not being
504504
maintained then a task always has an "infinite stack" and this function
505505
shouldn't get triggered.
506506

507-
The second of these two functions, `eh_personality`, is used by the failure
508-
mechanisms of the compiler. This is often mapped to GCC's personality function
509-
(see the [libstd implementation](std/rt/unwind/index.html) for more
510-
information), but crates which do not trigger failure can be assured that this
511-
function is never called.
512-
513-
The final item in the example is a trait called `Sized`. This a trait
514-
that represents data of a known static size: it is integral to the
515-
Rust type system, and so the compiler expects the standard library to
516-
provide it. Since you are not using the standard library, you have to
517-
provide it yourself.
507+
The second of these three functions, `eh_personality`, is used by the
508+
failure mechanisms of the compiler. This is often mapped to GCC's
509+
personality function (see the
510+
[libstd implementation](std/rt/unwind/index.html) for more
511+
information), but crates which do not trigger failure can be assured
512+
that this function is never called. The final function, `fail_fmt`, is
513+
also used by the failure mechanisms of the compiler.
518514

519515
## Using libcore
520516

@@ -573,8 +569,8 @@ pub extern fn dot_product(a: *const u32, a_len: u32,
573569
return ret;
574570
}
575571
576-
#[lang = "begin_unwind"]
577-
extern fn begin_unwind(args: &core::fmt::Arguments,
572+
#[lang = "fail_fmt"]
573+
extern fn fail_fmt(args: &core::fmt::Arguments,
578574
file: &str,
579575
line: uint) -> ! {
580576
loop {}
@@ -587,8 +583,8 @@ extern fn begin_unwind(args: &core::fmt::Arguments,
587583
```
588584

589585
Note that there is one extra lang item here which differs from the examples
590-
above, `begin_unwind`. This must be defined by consumers of libcore because the
591-
core library declares failure, but it does not define it. The `begin_unwind`
586+
above, `fail_fmt`. This must be defined by consumers of libcore because the
587+
core library declares failure, but it does not define it. The `fail_fmt`
592588
lang item is this crate's definition of failure, and it must be guaranteed to
593589
never return.
594590

@@ -694,7 +690,7 @@ fn main(argc: int, argv: *const *const u8) -> int {
694690
695691
#[lang = "stack_exhausted"] extern fn stack_exhausted() {}
696692
#[lang = "eh_personality"] extern fn eh_personality() {}
697-
#[lang = "sized"] trait Sized {}
693+
#[lang = "fail_fmt"] fn fail_fmt() -> ! { loop {} }
698694
```
699695

700696
Note the use of `abort`: the `exchange_malloc` lang item is assumed to
@@ -706,7 +702,7 @@ Other features provided by lang items include:
706702
`==`, `<`, dereferencing (`*`) and `+` (etc.) operators are all
707703
marked with lang items; those specific four are `eq`, `ord`,
708704
`deref`, and `add` respectively.
709-
- stack unwinding and general failure; the `eh_personality`, `fail_`
705+
- stack unwinding and general failure; the `eh_personality`, `fail`
710706
and `fail_bounds_checks` lang items.
711707
- the traits in `std::kinds` used to indicate types that satisfy
712708
various kinds; lang items `send`, `sync` and `copy`.

branches/dist-snap/src/doc/guide.md

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1507,6 +1507,7 @@ You can create an array with just square brackets:
15071507

15081508
```{rust}
15091509
let nums = [1i, 2i, 3i];
1510+
let nums = [1i, ..20]; // Shorthand for an array of 20 elements all initialized to 1
15101511
```
15111512

15121513
So what's the difference? An array has a fixed size, so you can't add or
@@ -2151,14 +2152,10 @@ In this case, we say `x` is a `uint` explicitly, so Rust is able to properly
21512152
tell `random()` what to generate. In a similar fashion, both of these work:
21522153

21532154
```{rust,ignore}
2154-
let input_num = from_str::<Option<uint>>("5");
2155+
let input_num = from_str::<uint>("5");
21552156
let input_num: Option<uint> = from_str("5");
21562157
```
21572158

2158-
In this case, I happen to prefer the latter, and in the `random()` case, I prefer
2159-
the former. I think the nested `<>`s make the first option especially ugly and
2160-
a bit harder to read.
2161-
21622159
Anyway, with us now converting our input to a number, our code looks like this:
21632160

21642161
```{rust,ignore}
@@ -4328,8 +4325,6 @@ and so we tell it that we want a vector of integers.
43284325
is one:
43294326

43304327
```{rust}
4331-
let one_to_one_hundred = range(0i, 100i);
4332-
43334328
let greater_than_forty_two = range(0i, 100i)
43344329
.find(|x| *x >= 42);
43354330
@@ -4493,8 +4488,8 @@ This will print
44934488
```
44944489

44954490
`filter()` is an adapter that takes a closure as an argument. This closure
4496-
returns `true` or `false`. The new iterator `filter()` produces returns
4497-
only the elements that that closure returned `true` for:
4491+
returns `true` or `false`. The new iterator `filter()` produces
4492+
only the elements that that closure returns `true` for:
44984493

44994494
```{rust}
45004495
for i in range(1i, 100i).filter(|x| x % 2 == 0) {

branches/dist-snap/src/doc/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ development of Rust itself is discussed.
4646
# Specification
4747

4848
Rust does not have an exact specification, but an effort to describe as much of
49-
the language in as much detail as possible is in [the manual](rust.html).
49+
the language in as much detail as possible is in [the reference](reference.html).
5050

5151
# Guides
5252

branches/dist-snap/src/doc/not_found.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Some things that might be helpful to you though:
1313

1414
## Reference
1515
* [The Rust official site](http://rust-lang.org)
16-
* [The Rust reference manual](http://doc.rust-lang.org/rust.html) (* [PDF](http://doc.rust-lang.org/rust.pdf))
16+
* [The Rust reference](http://doc.rust-lang.org/reference.html) (* [PDF](http://doc.rust-lang.org/reference.pdf))
1717

1818
## Docs
1919
* [The standard library](http://doc.rust-lang.org/std/)

0 commit comments

Comments
 (0)