Skip to content

Commit e4afb7e

Browse files
committed
---
yaml --- r: 234203 b: refs/heads/beta c: 341a919 h: refs/heads/master i: 234201: f603df5 234199: ad3e047 v: v3
1 parent 1090208 commit e4afb7e

File tree

52 files changed

+423
-355
lines changed

Some content is hidden

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

52 files changed

+423
-355
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ refs/tags/0.9: 36870b185fc5f5486636d4515f0e22677493f225
2323
refs/tags/0.10: ac33f2b15782272ae348dbd7b14b8257b2148b5a
2424
refs/tags/0.11.0: e1247cb1d0d681be034adb4b558b5a0c0d5720f9
2525
refs/tags/0.12.0: f0c419429ef30723ceaf6b42f9b5a2aeb5d2e2d1
26-
refs/heads/beta: 18ee9d71d517b8e1795b8ba736fd0b6992c8038d
26+
refs/heads/beta: 341a91902a9cb030b67a4873aa8f4d93fa488c00
2727
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
2828
refs/heads/tmp: 370fe2786109360f7c35b8ba552b83b773dd71d6
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f

branches/beta/COMPILER_TESTS.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Compiler Test Documentation
2+
3+
In the Rust project, we use a special set of comands imbedded in
4+
comments to test the Rust compiler. There are two groups of commands:
5+
6+
1. Header commands
7+
2. Error info commands
8+
9+
Both types of commands are inside comments, but header commands should
10+
be in a comment before any code.
11+
12+
## Summary of Error Info Commands
13+
14+
Error commands specify something about certain lines of the
15+
program. They tell the test what kind of error and what message you
16+
are expecting.
17+
18+
* `~`: Associates the following error level and message with the
19+
current line
20+
* `~|`: Associates the following error level and message with the same
21+
line as the previous comment
22+
* `~^`: Associates the following error level and message with the
23+
previous line. Each caret (`^`) that you add adds a line to this, so
24+
`~^^^^^^^` is seven lines up.
25+
26+
The error levels that you can have are:
27+
1. `ERROR`
28+
2. `WARNING`
29+
3. `NOTE`
30+
4. `HELP` and `SUGGESTION`*
31+
32+
\* **Note**: `SUGGESTION` must follow emediatly after `HELP`.
33+
34+
## Summary of Header Commands
35+
36+
Header commands specify something about the entire test file, as a
37+
whole, instead of just a few lines inside the test.
38+
39+
* `ignore-X` where `X` is an architecture, OS or stage will ignore the test accordingly
40+
* `ignore-pretty` will not compile the pretty-printed test (this is done to test the pretty-printer, but might not always work)
41+
* `ignore-test` always ignores the test
42+
* `ignore-lldb` and `ignore-gdb` will skip the debuginfo tests
43+
* `min-{gdb,lldb}-version`

branches/beta/CONTRIBUTING.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ links to the major sections:
1010
* [Writing Documentation](#writing-documentation)
1111
* [Issue Triage](#issue-triage)
1212
* [Out-of-tree Contributions](#out-of-tree-contributions)
13+
* [Helpful Links and Information](#helpful-links-and-information)
1314

1415
If you have questions, please make a post on [internals.rust-lang.org][internals] or
1516
hop on [#rust-internals][pound-rust-internals].
@@ -210,3 +211,28 @@ valuable!
210211
[users]: https://users.rust-lang.org/
211212
[so]: http://stackoverflow.com/questions/tagged/rust
212213
[community-library]: https://github.com/rust-lang/rfcs/labels/A-community-library
214+
215+
## Helpful Links and Information
216+
217+
For people new to Rust, and just starting to contribute, or even for
218+
more seasoned developers, some useful places to look for information
219+
are:
220+
221+
* The [Rust Internals forum][rif], a place to ask questions and
222+
discuss Rust's internals
223+
* The [generated documentation for rust's compiler][gdfrustc]
224+
* The [rust referance][rr], even though it doesn't specifically talk about Rust's internals, its a great reasource nontheless
225+
* Although out of date, [Tom Lee's great blog article][tlgba] is very helpful
226+
* [rustaceans.org][ro] is helpful, but mostly dedicated to IRC
227+
* The [Rust Compiler Testing Docs][rctd]
228+
* For @bors, [this cheetsheat][cheetsheat] is helpful (Remember to replace `@homu` with `@bors` in the commands that you use.)
229+
* **Google**!
230+
* Don't be afraid to ask! The Rust community is friendly and helpful.
231+
232+
[gdfrustc]: http://manishearth.github.io/rust-internals-docs/rustc/
233+
[rif]: http://internals.rust-lang.org
234+
[rr]: https://doc.rust-lang.org/book/README.html
235+
[tlgba]: http://tomlee.co/2014/04/03/a-more-detailed-tour-of-the-rust-compiler/
236+
[ro]: http://www.rustaceans.org/
237+
[rctd]: ./COMPILER_TESTS.md
238+
[cheetsheat]: http://buildbot.rust-lang.org/homu/

branches/beta/configure

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1191,12 +1191,21 @@ do
11911191
#
11921192
# Consequently here we try to detect when that happens and print an
11931193
# error if it does.
1194-
if $CFG_PYTHON -c 'import sys; print sys.argv[1]' `pwd` | grep '^/'
1194+
if $CFG_PYTHON -c 'import sys; print sys.argv[1]' `pwd` | grep '^/' > /dev/null
11951195
then
1196-
err "python is silently translating windows paths to MSYS paths \
1197-
and the build will fail if this python is used.\n\n \
1198-
Either an official python install must be used or an \
1199-
alternative python package in MinGW must be used."
1196+
err "
1197+
1198+
python is silently translating windows paths to MSYS paths \
1199+
and the build will fail if this python is used.
1200+
1201+
Either an official python install must be used or an \
1202+
alternative python package in MinGW must be used.
1203+
1204+
If you are building under msys2 try installing the mingw-w64-x86_64-python2 \
1205+
package instead of python2:
1206+
1207+
$ pacman -R python2 && pacman -S mingw-w64-x86_64-python2
1208+
"
12001209
fi
12011210

12021211
# MSVC requires cmake because that's how we're going to build LLVM
@@ -1207,10 +1216,19 @@ do
12071216
# detect that here and error.
12081217
if ! "$CFG_CMAKE" --help | sed -n '/^Generators/,$p' | grep 'Visual Studio' > /dev/null
12091218
then
1210-
err "cmake does not support Visual Studio generators.\n\n \
1211-
This is likely due to it being an msys/cygwin build of cmake, \
1212-
rather than the required windows version, built using MinGW \
1213-
or Visual Studio."
1219+
err "
1220+
1221+
cmake does not support Visual Studio generators.
1222+
1223+
This is likely due to it being an msys/cygwin build of cmake, \
1224+
rather than the required windows version, built using MinGW \
1225+
or Visual Studio.
1226+
1227+
If you are building under msys2 try installing the mingw-w64-x86_64-cmake \
1228+
package instead of cmake:
1229+
1230+
$ pacman -R cmake && pacman -S mingw-w64-x86_64-cmake
1231+
"
12141232
fi
12151233

12161234
# Use the REG program to figure out where VS is installed

branches/beta/src/doc/nomicon/destructors.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ impl<T> Drop for Box<T> {
5252
```
5353

5454
and this works fine because when Rust goes to drop the `ptr` field it just sees
55-
a [Unique][] that has no actual `Drop` implementation. Similarly nothing can
55+
a [Unique] that has no actual `Drop` implementation. Similarly nothing can
5656
use-after-free the `ptr` because when drop exits, it becomes inacessible.
5757

5858
However this wouldn't work:

branches/beta/src/doc/nomicon/meet-safe-and-unsafe.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ Unlike C, Undefined Behaviour is pretty limited in scope in Rust. All the core
6060
language cares about is preventing the following things:
6161

6262
* Dereferencing null or dangling pointers
63-
* Reading [uninitialized memory][]
64-
* Breaking the [pointer aliasing rules][]
63+
* Reading [uninitialized memory]
64+
* Breaking the [pointer aliasing rules]
6565
* Producing invalid primitive values:
6666
* dangling/null references
6767
* a `bool` that isn't 0 or 1

branches/beta/src/doc/nomicon/other-reprs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ still consumes a byte of space.
2626
* DSTs, tuples, and tagged unions are not a concept in C and as such are never
2727
FFI safe.
2828

29-
* **If the type would have any [drop flags][], they will still be added**
29+
* **If the type would have any [drop flags], they will still be added**
3030

3131
* This is equivalent to one of `repr(u*)` (see the next section) for enums. The
3232
chosen size is the default enum size for the target platform's C ABI. Note that

branches/beta/src/doc/nomicon/safe-unsafe-meaning.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ unchecked contracts:
3535

3636
There is also `#[unsafe_no_drop_flag]`, which is a special case that exists for
3737
historical reasons and is in the process of being phased out. See the section on
38-
[drop flags][] for details.
38+
[drop flags] for details.
3939

4040
Some examples of unsafe functions:
4141

@@ -44,7 +44,7 @@ Some examples of unsafe functions:
4444
* `ptr::offset` is an intrinsic that invokes Undefined Behaviour if it is
4545
not "in bounds" as defined by LLVM.
4646
* `mem::transmute` reinterprets some value as having the given type,
47-
bypassing type safety in arbitrary ways. (see [conversions][] for details)
47+
bypassing type safety in arbitrary ways. (see [conversions] for details)
4848
* All FFI functions are `unsafe` because they can do arbitrary things.
4949
C being an obvious culprit, but generally any language can do something
5050
that Rust isn't happy about.

branches/beta/src/doc/nomicon/send-and-sync.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ captures this through the `Send` and `Sync` traits.
1010

1111
Send and Sync are fundamental to Rust's concurrency story. As such, a
1212
substantial amount of special tooling exists to make them work right. First and
13-
foremost, they're [unsafe traits][]. This means that they are unsafe to
13+
foremost, they're [unsafe traits]. This means that they are unsafe to
1414
implement, and other unsafe code can assume that they are correctly
1515
implemented. Since they're *marker traits* (they have no associated items like
1616
methods), correctly implemented simply means that they have the intrinsic

branches/beta/src/doc/nomicon/transmutes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ same size. The ways to cause Undefined Behaviour with this are mind boggling.
2121
* No you can't do it
2222
* No you're not special
2323
* Transmuting to a reference without an explicitly provided lifetime
24-
produces an [unbounded lifetime][]
24+
produces an [unbounded lifetime]
2525

2626
`mem::transmute_copy<T, U>` somehow manages to be *even more* wildly unsafe than
2727
this. It copies `size_of<U>` bytes out of an `&T` and interprets them as a `U`.

0 commit comments

Comments
 (0)