Skip to content

Commit fbeda6e

Browse files
author
b1nd
committed
---
yaml --- r: 98083 b: refs/heads/master c: 9a45c9d h: refs/heads/master i: 98081: b16a382 98079: 8012045 v: v3
1 parent 5a97281 commit fbeda6e

File tree

316 files changed

+3298
-3748
lines changed

Some content is hidden

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

316 files changed

+3298
-3748
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: 77eeddaa481fa083dfa857e5d7dd7f5ab784a9f1
2+
refs/heads/master: 9a45c9d7c6928743f9e7a7161bf564a65bfc0577
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: b6400f998497c3958f40997a71756ead344a776d
55
refs/heads/try: c274a6888410ce3e357e014568b43310ed787d36

trunk/.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,6 @@ src/.DS_Store
7979
/doc/native
8080
/doc/rustc
8181
/doc/syntax
82-
/doc/rustuv
83-
/doc/rustpkg
8482
/nd/
8583
/llvm/
8684
version.md

trunk/.gitmodules

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
[submodule "src/llvm"]
22
path = src/llvm
3-
url = https://github.com/rust-lang/llvm.git
3+
url = https://github.com/luqmana/llvm.git
44
branch = master
55
[submodule "src/libuv"]
66
path = src/libuv
7-
url = https://github.com/rust-lang/libuv.git
7+
url = https://github.com/alexcrichton/libuv.git
88
branch = master
99
[submodule "src/gyp"]
1010
path = src/gyp
11-
url = https://github.com/rust-lang/gyp.git
11+
url = https://github.com/alexcrichton/gyp.git

trunk/CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
If you're just reporting a bug, please see:
44

5-
http://static.rust-lang.org/doc/master/complement-bugreport.html
5+
https://github.com/mozilla/rust/wiki/HOWTO-submit-a-Rust-bug-report
66

77
## Pull request procedure
88

trunk/Makefile.in

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

155155
# version-string calculation
156156
CFG_GIT_DIR := $(CFG_SRC_DIR).git
157-
CFG_RELEASE = 0.10-pre
157+
CFG_RELEASE = 0.9
158158
CFG_VERSION = $(CFG_RELEASE)
159159
# windows exe's need numeric versions - don't use anything but
160160
# numbers and dots here
161-
CFG_VERSION_WIN = 0.10
161+
CFG_VERSION_WIN = 0.9
162162

163163
# since $(CFG_GIT) may contain spaces (especially on Windows),
164164
# we need to escape them. (" " to r"\ ")

trunk/README.md

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,49 +7,50 @@ documentation.
77

88
### Windows
99

10-
1. Download and use the [installer and MinGW][win-wiki].
10+
1. Download and use the [installer][win-exe].
1111
2. Read the [tutorial].
1212
2. Enjoy!
1313

14-
> ***Note:*** Windows users can read the detailed
15-
> [getting started][wiki-start] notes on the wiki.
14+
> ***Note:*** Windows users should read the detailed
15+
> [getting started][wiki-start] notes on the wiki. Even when using
16+
> the binary installer the Windows build requires a MinGW installation,
17+
> the precise details of which are not discussed here.
1618
1719
[tutorial]: http://static.rust-lang.org/doc/tutorial.html
1820
[wiki-start]: https://github.com/mozilla/rust/wiki/Note-getting-started-developing-Rust
19-
[win-wiki]: https://github.com/mozilla/rust/wiki/Using-Rust-on-Windows
21+
[win-exe]: http://static.rust-lang.org/dist/rust-0.9-install.exe
2022

2123
### Linux / OS X
2224

23-
1. Make sure you have installed the dependencies:
24-
* `g++` 4.4 or `clang++` 3.x
25-
* `python` 2.6 or later (but not 3.x)
26-
* `perl` 5.0 or later
27-
* GNU `make` 3.81 or later
28-
* `curl`
29-
2. Download and build Rust:
30-
25+
1. Install the prerequisites (if not already installed)
26+
* g++ 4.4 or clang++ 3.x
27+
* python 2.6 or later (but not 3.x)
28+
* perl 5.0 or later
29+
* gnu make 3.81 or later
30+
* curl
31+
2. Download and build Rust
3132
You can either download a [tarball] or build directly from the [repo].
32-
33+
3334
To build from the [tarball] do:
34-
35+
3536
$ curl -O http://static.rust-lang.org/dist/rust-0.9.tar.gz
3637
$ tar -xzf rust-0.9.tar.gz
3738
$ cd rust-0.9
38-
39+
3940
Or to build from the [repo] do:
4041

4142
$ git clone https://github.com/mozilla/rust.git
4243
$ cd rust
4344

4445
Now that you have Rust's source code, you can configure and build it:
45-
46+
4647
$ ./configure
4748
$ make && make install
48-
49-
> ***Note:*** You may need to use `sudo make install` if you do not normally have
50-
> permission to modify the destination directory. The install locations can
51-
> be adjusted by passing a `--prefix` argument to `configure`. Various other
52-
> options are also supported, pass `--help` for more information on them.
49+
50+
You may need to use `sudo make install` if you do not normally have
51+
permission to modify the destination directory. The install locations can
52+
be adjusted by passing a `--prefix` argument to `configure`. Various other
53+
options are also supported, pass `--help` for more information on them.
5354

5455
When complete, `make install` will place several programs into
5556
`/usr/local/bin`: `rustc`, the Rust compiler; `rustdoc`, the
@@ -75,20 +76,22 @@ Snapshot binaries are currently built and tested on several platforms:
7576
* Linux (various distributions), x86 and x86-64
7677
* OSX 10.6 ("Snow Leopard") or greater, x86 and x86-64
7778

78-
You may find that other platforms work, but these are our officially
79+
You may find that other platforms work, but these are our "tier 1"
7980
supported build environments that are most likely to work.
8081

81-
Rust currently needs about 1.5 GiB of RAM to build without swapping; if it hits
82+
Rust currently needs about 1.8G of RAM to build without swapping; if it hits
8283
swap, it will take a very long time to build.
8384

84-
There is a lot more documentation in the [wiki].
85+
There is lots more documentation in the [wiki].
8586

8687
[wiki]: https://github.com/mozilla/rust/wiki
8788

89+
8890
## License
8991

9092
Rust is primarily distributed under the terms of both the MIT license
9193
and the Apache License (Version 2.0), with portions covered by various
9294
BSD-like licenses.
9395

9496
See LICENSE-APACHE, LICENSE-MIT, and COPYRIGHT for details.
97+

trunk/configure

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -782,6 +782,11 @@ do
782782
# target lib dir
783783
make_dir $h/stage$i/$LIBDIR_RELATIVE/$CFG_RUSTLIBDIR/$t/lib
784784
done
785+
786+
# Fix stage0:
787+
make_dir $h/stage0/$LIBDIR_RELATIVE/rustc/$t/bin
788+
make_dir $h/stage0/$LIBDIR_RELATIVE/rustc/$t/$LIBDIR_RELATIVE
789+
785790
done
786791

787792
make_dir $h/test/run-pass
@@ -795,7 +800,6 @@ do
795800
make_dir $h/test/codegen
796801
make_dir $h/test/doc-tutorial
797802
make_dir $h/test/doc-guide-ffi
798-
make_dir $h/test/doc-guide-runtime
799803
make_dir $h/test/doc-guide-macros
800804
make_dir $h/test/doc-guide-lifetimes
801805
make_dir $h/test/doc-guide-pointers

trunk/doc/README

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
Pandoc, a universal document converter, is required to generate docs as HTML
2+
from Rust's source code. It's available for most platforms here:
3+
http://johnmacfarlane.net/pandoc/installing.html
4+
5+
Node.js (http://nodejs.org/) is also required for generating HTML from
6+
the Markdown docs (reference manual, tutorials, etc.) distributed with
7+
this git repository.
8+
9+
To generate all the docs, run `make docs` from the root of the repository.
10+
This will convert the distributed Markdown docs to HTML and generate HTML doc
11+
for the 'std' and 'extra' libraries.
12+
13+
To generate HTML documentation from one source file/crate, do something like:
14+
15+
rustdoc --output-dir html-doc/ --output-format html ../src/libstd/path.rs
16+
17+
(This, of course, requires that you've built/installed the `rustdoc` tool.)
18+
19+
To generate an HTML version of a doc from Markdown, without having Node.js
20+
installed, do something like:
21+
22+
pandoc --from=markdown --to=html5 --number-sections -o rust.html rust.md
23+
24+
The syntax for pandoc flavored markdown can be found at:
25+
http://johnmacfarlane.net/pandoc/README.html#pandocs-markdown
26+
27+
A nice quick reference (for non-pandoc markdown) is at:
28+
http://kramdown.rubyforge.org/quickref.html

trunk/doc/README.md

Lines changed: 0 additions & 40 deletions
This file was deleted.

trunk/doc/complement-bugreport.md

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,47 @@
1-
% How to submit a Rust bug report
1+
% HOWTO submit a RUST bug report
22

33
# I think I found a bug in the compiler!
44

5-
If you see this message: `error: internal compiler error: unexpected failure`,
5+
If you see this message: ''error: internal compiler error: unexpected failure'',
66
then you have definitely found a bug in the compiler. It's also possible that
77
your code is not well-typed, but if you saw this message, it's still a bug in
88
error reporting.
99

10-
If you see a message about an LLVM assertion failure, then you have also
10+
If you see a message about an LLVM assertion failure, then you have also
1111
definitely found a bug in the compiler. In both of these cases, it's not your
1212
fault and you should report a bug!
1313

14-
If you see a compiler error message that you think is meant for users to see,
14+
If you see a compiler error message that you think is meant for users to see,
1515
but it confuses you, *that's a bug too*. If it wasn't clear to you, then it's
1616
an error message we want to improve, so please report it so that we can try
1717
to make it better.
1818

19-
# How do I know the bug I found isn't a bug that already exists in the issue tracker?
19+
# I don't want to waste the Rust devs' time! How do I know the bug I found isn't a bug that already exists in the issue tracker?
2020

21-
If you don't have enough time for a search, then don't worry about that. Just submit
22-
the bug. If it's a duplicate, somebody will notice that and close it during triage.
21+
If you don't have much time, then don't worry about that. Just submit the bug.
22+
If it's a duplicate, somebody will notice that and close it. No one will laugh
23+
at you, we promise (and if someone did, they would be violating the Rust
24+
[code of conduct](https://github.com/mozilla/rust/wiki/Note-development-policy code of conduct)).
2325

24-
If you have the time for it, it would be useful to type the text of the error
26+
If you have more time, it's very helpful if you can type the text of the error
2527
message you got [into the issue tracker search box](https://github.com/mozilla/rust/issues)
2628
to see if there's an existing bug that resembles your problem. If there is,
27-
and it's an open bug, you can comment on that issue and say you are also affected.
28-
This will encourage the devs to fix it. But again, don't let this stop you from
29+
and it's an open bug, you can comment on that issue and say you ran into it too.
30+
This will encourage devs to fix it. But again, don't let this stop you from
2931
submitting a bug. We'd rather have to do the work of closing duplicates than
3032
miss out on valid bug reports.
3133

3234
# What information should I include in a bug report?
3335

34-
It generally helps our diagnosis to include your specific OS (for example: Mac OS X 10.8.3,
35-
Windows 7, Ubuntu 12.04) and your hardware architecture (for example: i686, x86_64).
36+
It's helpful to include your specific OS (for example: Mac OS X 10.8.3,
37+
Windows 7, Ubuntu 12.0.4) and your hardware architecture (for example: i686, x86_64).
3638
It's also helpful to copy/paste the output of re-running the erroneous rustc
37-
command with the `-v` flag. Finally, if you can run the offending command under gdb,
38-
pasting a stack trace can be useful; to do so, you will need to set a breakpoint on `rust_fail`.
39+
commmand with the `-v` flag. Finally, if you can run the offending command under gdb,
40+
pasting a stack trace can be useful; to do so, you will need to set a breakpoint on `rust_begin_unwind`.
3941

40-
# I submitted a bug, but nobody has commented on it!
42+
# I submitted a bug, but nobody has commented on it! I'm sad.
4143

42-
This is sad, but does happen sometimes, since we're short-staffed. If you
44+
This is sad, but does happen sometimes, since we're short-staffed. If you
4345
submit a bug and you haven't received a comment on it within 3 business days,
4446
it's entirely reasonable to either ask on the #rust IRC channel,
4547
or post on the [rust-dev mailing list](https://mail.mozilla.org/listinfo/rust-dev)

trunk/doc/complement-lang-faq.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ They start small (ideally in the hundreds of bytes) and expand dynamically by ca
236236

237237
* Requiring explicit bounds means that the compiler can type-check the code at the point where the type-parametric item is *defined*, rather than delaying to when its type parameters are instantiated. You know that *any* set of type parameters fulfilling the bounds listed in the API will compile. It's an enforced minimal level of documentation, and results in very clean error messages.
238238

239-
* Scoping of methods is also a problem. C++ needs [Koenig (argument dependent) lookup](http://en.wikipedia.org/wiki/Argument-dependent_name_lookup), which comes with its own host of problems. Explicit bounds avoid this issue: traits are explicitly imported and then used as bounds on type parameters, so there is a clear mapping from the method to its implementation (via the trait and the instantiated type).
239+
* Scoping of methods is also a problem. C++ needs [Koenig (argument dependent) lookup](http://en.wikipedia.org/wiki/Argument-dependent_name_lookup), which comes with its own host of problems. Explicit bounds avoid this issue: traits are explicitly imported and then used as bounds on type parameters, so there is a clear mapping from the method to its implementation (via the trait and the instantiated type).
240240

241241
* Related to the above point: since a parameter explicitly names its trait bounds, a single type is able to implement traits whose sets of method names overlap, cleanly and unambiguously.
242242

trunk/doc/complement-project-faq.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Existing languages at this level of abstraction and efficiency are unsatisfactor
1515
# What are some non-goals?
1616

1717
* To employ any particularly cutting-edge technologies. Old, established techniques are better.
18-
* To prize expressiveness, minimalism or elegance above other goals. These are desirable but subordinate goals.
18+
* To prize expressiveness, minimalism or elegance above other goals. These are desirable but subordinate goals.
1919
* To cover the "systems language" part all the way down to "writing an OS kernel".
2020
* To cover the complete feature-set of C++, or any other language. It should provide majority-case features.
2121
* To be 100% static, 100% safe, 100% reflective, or too dogmatic in any other sense. Trade-offs exist.

trunk/doc/complement-usage-faq.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,16 @@ If you aren't sure which paths you need, try setting RUST_LOG to `::help` and ru
2020

2121
This is much like the answer for `log` statements, except that you also need to compile your program in debug mode (that is, pass `--cfg debug` to `rustc`). Note that if you want to see the instrumentation of the `debug!` statements within `rustc` itself, you need a debug version of `rustc`; you can get one by invoking `configure` with the `--enable-debug` option.
2222

23-
# What does it mean when a program exits with `leaked memory`?
24-
25-
The error looks like this: `leaked memory in rust main loop (2 objects)' failed, rt/memory_region.cpp:99 2 objects`.
23+
# What does it mean when a program exits with `leaked memory in rust main loop (2 objects)' failed, rt/memory_region.cpp:99 2 objects`?
2624

2725
This message indicates a memory leak, and is mostly likely to happen on rarely exercised failure paths. Note that failure unwinding is not yet implemented on windows so this is expected. If you see this on Linux or Mac it's a compiler bug; please report it.
2826

27+
# Why do gdb backtraces end with the error 'previous frame inner to this frame (corrupt stack?)'?
28+
29+
**Short answer** your gdb is too old to understand our hip new stacks. Upgrade to a newer version (7.3.1 is known to work).
30+
31+
**Long answer** Rust uses 'spaghetti stacks' (a linked list of stacks) to allow tasks to start very small but recurse arbitrarily deep when necessary. As a result, new frames don't always decrease the stack pointer like gdb expects but instead may jump around the heap to different stack segments. Newer versions of gdb recognize that the special function called __morestack may change the stack pointer to a different stack.
32+
2933
# Why did my build create a bunch of zero-length files in my lib directory?
3034

3135
This is a normal part of the Rust build process. The build system uses these zero-length files for dependency tracking, as the actual names of the Rust libraries contain hashes that can't be guessed easily by the Makefiles.

trunk/doc/guide-conditions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ fn main() {
275275
276276
};
277277
if result.is_err() {
278-
println!("parsing failed");
278+
println("parsing failed");
279279
}
280280
}
281281

trunk/doc/guide-container.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ A typical mutable container will implement at least `iter()`, `mut_iter()` and
130130
### Freezing
131131
132132
Unlike most other languages with external iterators, Rust has no *iterator
133-
invalidation*. As long as an iterator is still in scope, the compiler will prevent
133+
invalidation*. As long an iterator is still in scope, the compiler will prevent
134134
modification of the container through another handle.
135135
136136
~~~
@@ -218,12 +218,12 @@ let xs = [2u, 3, 5, 7, 11, 13, 17];
218218

219219
// print out all the elements in the vector
220220
for x in xs.iter() {
221-
println!("{}", *x)
221+
println(x.to_str())
222222
}
223223

224224
// print out all but the first 3 elements in the vector
225225
for x in xs.iter().skip(3) {
226-
println!("{}", *x)
226+
println(x.to_str())
227227
}
228228
~~~
229229

0 commit comments

Comments
 (0)