Skip to content

Commit f89267e

Browse files
committed
---
yaml --- r: 135414 b: refs/heads/master c: 38015ee h: refs/heads/master v: v3
1 parent 6c2d441 commit f89267e

File tree

238 files changed

+6435
-3634
lines changed

Some content is hidden

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

238 files changed

+6435
-3634
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: 887da8d33a81865c2841751f3106fb8607a31b26
2+
refs/heads/master: 38015eeb7010e5954a1bc60fddc1214a5f359627
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: ae81c89f34f1ac2cdb596cf216612e94822a8466
55
refs/heads/try: 14378ea357c06c23607ca61ade44f60a7a64a1c7

trunk/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

trunk/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

trunk/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.

trunk/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 \

trunk/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

trunk/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

trunk/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`.

trunk/src/doc/guide.md

Lines changed: 3 additions & 4 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
@@ -4324,8 +4325,6 @@ and so we tell it that we want a vector of integers.
43244325
is one:
43254326

43264327
```{rust}
4327-
let one_to_one_hundred = range(0i, 100i);
4328-
43294328
let greater_than_forty_two = range(0i, 100i)
43304329
.find(|x| *x >= 42);
43314330
@@ -4489,8 +4488,8 @@ This will print
44894488
```
44904489

44914490
`filter()` is an adapter that takes a closure as an argument. This closure
4492-
returns `true` or `false`. The new iterator `filter()` produces returns
4493-
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:
44944493

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

trunk/src/etc/licenseck.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
"test/bench/shootout-chameneos-redux.rs", # BSD
4747
"test/bench/shootout-fannkuch-redux.rs", # BSD
4848
"test/bench/shootout-fasta.rs", # BSD
49+
"test/bench/shootout-fasta-redux.rs", # BSD
4950
"test/bench/shootout-k-nucleotide.rs", # BSD
5051
"test/bench/shootout-mandelbrot.rs", # BSD
5152
"test/bench/shootout-meteor.rs", # BSD

trunk/src/etc/pkg/rust.iss

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
SetupIconFile=rust-logo.ico
99
AppName=Rust
1010
AppVersion={#CFG_RELEASE}
11-
AppCopyright=Copyright (C) 2006-2013 Mozilla Foundation, MIT license
11+
AppCopyright=Copyright (C) 2006-2014 Mozilla Foundation, MIT license
1212
AppPublisher=Mozilla Foundation
1313
AppPublisherURL=http://www.rust-lang.org
1414
VersionInfoVersion={#CFG_VERSION_WIN}
@@ -43,7 +43,7 @@ Source: "tmp/dist/win/*.*" ; DestDir: "{app}"; Flags: ignoreversion recursesubdi
4343
[Code]
4444
const
4545
ModPathName = 'modifypath';
46-
ModPathType = 'user';
46+
ModPathType = 'system';
4747
4848
function ModPathDir(): TArrayOfString;
4949
begin

trunk/src/grammar/RustLexer.g4

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,9 @@ LIT_INTEGER
120120
| '0x' [0-9a-fA-F][0-9a-fA-F_]* INT_SUFFIX?
121121
;
122122

123-
FLOAT_SUFFIX
123+
fragment FLOAT_SUFFIX
124124
: 'f32'
125125
| 'f64'
126-
| 'f128'
127126
;
128127

129128
LIT_FLOAT

trunk/src/liballoc/boxed.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -96,12 +96,6 @@ pub trait BoxAny {
9696
/// `Err(Self)` if it isn't.
9797
#[unstable = "naming conventions around accessing innards may change"]
9898
fn downcast<T: 'static>(self) -> Result<Box<T>, Self>;
99-
100-
/// Deprecated; this method has been renamed to `downcast`.
101-
#[deprecated = "use downcast instead"]
102-
fn move<T: 'static>(self) -> Result<Box<T>, Self> {
103-
self.downcast::<T>()
104-
}
10599
}
106100

107101
#[stable]

trunk/src/liballoc/util.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use core::raw;
1616
#[inline]
1717
#[deprecated]
1818
pub fn get_box_size(body_size: uint, body_align: uint) -> uint {
19-
let header_size = mem::size_of::<raw::Box<()>>();
19+
let header_size = mem::size_of::<raw::GcBox<()>>();
2020
let total_size = align_to(header_size, body_align) + body_size;
2121
total_size
2222
}

0 commit comments

Comments
 (0)