Skip to content

Commit c395f60

Browse files
committed
---
yaml --- r: 161567 b: refs/heads/snap-stage3 c: 010cbd0 h: refs/heads/master i: 161565: e6b3d9c 161563: b514ba2 161559: e8a7e03 161551: 3ba6a38 161535: c3614a5 v: v3
1 parent 051431a commit c395f60

File tree

270 files changed

+5139
-5820
lines changed

Some content is hidden

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

270 files changed

+5139
-5820
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
refs/heads/master: 4eb72d268f337a8f117c86a2ac1b98336cab9e9d
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: 0fb040f4bd1a3bd7ee9d60dfb8445a587ef7f28e
4+
refs/heads/snap-stage3: 010cbd011a644512afdca2378c5788181703cac3
55
refs/heads/try: 0f0d21c1eb5c7be04d323e0b06faf252ad790af6
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d

branches/snap-stage3/mk/crates.mk

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ TARGET_CRATES := libc std flate arena term \
5353
serialize getopts collections test time rand \
5454
log regex graphviz core rbml alloc rustrt \
5555
unicode
56-
RUSTC_CRATES := rustc rustc_typeck rustc_driver rustc_trans rustc_back rustc_llvm
57-
HOST_CRATES := syntax $(RUSTC_CRATES) rustdoc regex_macros fmt_macros
56+
HOST_CRATES := syntax rustc rustc_trans rustdoc regex_macros fmt_macros \
57+
rustc_llvm rustc_back
5858
CRATES := $(TARGET_CRATES) $(HOST_CRATES)
5959
TOOLS := compiletest rustdoc rustc
6060

@@ -67,16 +67,12 @@ DEPS_std := core libc rand alloc collections rustrt unicode \
6767
native:rust_builtin native:backtrace
6868
DEPS_graphviz := std
6969
DEPS_syntax := std term serialize log fmt_macros arena libc
70-
DEPS_rustc_driver := arena flate getopts graphviz libc rustc rustc_back \
71-
rustc_typeck log syntax serialize rustc_llvm rustc_trans
72-
DEPS_rustc_trans := arena flate getopts graphviz libc rustc rustc_back \
73-
log syntax serialize rustc_llvm
74-
DEPS_rustc_typeck := rustc syntax
70+
DEPS_rustc_trans := rustc rustc_back rustc_llvm libc
7571
DEPS_rustc := syntax flate arena serialize getopts rbml \
7672
time log graphviz rustc_llvm rustc_back
7773
DEPS_rustc_llvm := native:rustllvm libc std
7874
DEPS_rustc_back := std syntax rustc_llvm flate log libc
79-
DEPS_rustdoc := rustc rustc_driver native:hoedown serialize getopts \
75+
DEPS_rustdoc := rustc rustc_trans native:hoedown serialize getopts \
8076
test time
8177
DEPS_flate := std native:miniz
8278
DEPS_arena := std
@@ -98,7 +94,7 @@ DEPS_fmt_macros = std
9894

9995
TOOL_DEPS_compiletest := test getopts
10096
TOOL_DEPS_rustdoc := rustdoc
101-
TOOL_DEPS_rustc := rustc_driver
97+
TOOL_DEPS_rustc := rustc_trans
10298
TOOL_SOURCE_compiletest := $(S)src/compiletest/compiletest.rs
10399
TOOL_SOURCE_rustdoc := $(S)src/driver/driver.rs
104100
TOOL_SOURCE_rustc := $(S)src/driver/driver.rs
@@ -114,12 +110,8 @@ ONLY_RLIB_unicode := 1
114110
# You should not need to edit below this line
115111
################################################################################
116112

117-
DOC_CRATES := $(filter-out rustc, \
118-
$(filter-out rustc_trans, \
119-
$(filter-out rustc_typeck, \
120-
$(filter-out rustc_driver, \
121-
$(filter-out syntax, $(CRATES))))))
122-
COMPILER_DOC_CRATES := rustc rustc_trans rustc_typeck rustc_driver syntax
113+
DOC_CRATES := $(filter-out rustc, $(filter-out rustc_trans, $(filter-out syntax, $(CRATES))))
114+
COMPILER_DOC_CRATES := rustc rustc_trans syntax
123115

124116
# This macro creates some simple definitions for each crate being built, just
125117
# some munging of all of the parameters above.

branches/snap-stage3/mk/tests.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ $(eval $(call RUST_CRATE,coretest))
2121

2222
TEST_TARGET_CRATES = $(filter-out core unicode,$(TARGET_CRATES)) coretest
2323
TEST_DOC_CRATES = $(DOC_CRATES)
24-
TEST_HOST_CRATES = $(filter-out rustc_typeck rustc_trans,$(HOST_CRATES))
24+
TEST_HOST_CRATES = $(HOST_CRATES)
2525
TEST_CRATES = $(TEST_TARGET_CRATES) $(TEST_HOST_CRATES)
2626

2727
######################################################################

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

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ $ editor main.rs
140140
```
141141

142142
Rust files always end in a `.rs` extension. If you're using more than one word
143-
in your filename, use an underscore. `hello_world.rs` rather than
143+
in your file name, use an underscore. `hello_world.rs` rather than
144144
`helloworld.rs`.
145145

146146
Now that you've got your file open, type this in:
@@ -200,7 +200,7 @@ about this difference. Just know that sometimes, you'll see a `!`, and that
200200
means that you're calling a macro instead of a normal function. Rust implements
201201
`println!` as a macro rather than a function for good reasons, but that's a
202202
very advanced topic. You'll learn more when we talk about macros later. One
203-
last thing to mention: Rust's macros are significantly different from C macros,
203+
last thing to mention: Rust's macros are significantly different than C macros,
204204
if you've used those. Don't be scared of using macros. We'll get to the details
205205
eventually, you'll just have to trust us for now.
206206

@@ -595,8 +595,8 @@ let y = if x == 5i { 10i } else { 15i };
595595
```
596596

597597
This reveals two interesting things about Rust: it is an expression-based
598-
language, and semicolons are different from semicolons in other 'curly brace
599-
and semicolon'-based languages. These two things are related.
598+
language, and semicolons are different than in other 'curly brace and
599+
semicolon'-based languages. These two things are related.
600600

601601
## Expressions vs. Statements
602602

@@ -1454,7 +1454,7 @@ Both `continue` and `break` are valid in both kinds of loops.
14541454
# Strings
14551455

14561456
Strings are an important concept for any programmer to master. Rust's string
1457-
handling system is a bit different from other languages, due to its systems
1457+
handling system is a bit different than in other languages, due to its systems
14581458
focus. Any time you have a data structure of variable size, things can get
14591459
tricky, and strings are a re-sizable data structure. That said, Rust's strings
14601460
also work differently than in some other systems languages, such as C.
@@ -2064,8 +2064,8 @@ Great! Next up: let's compare our guess to the secret guess.
20642064
## Comparing guesses
20652065

20662066
If you remember, earlier in the guide, we made a `cmp` function that compared
2067-
two numbers. Let's add that in, along with a `match` statement to compare our
2068-
guess to the secret number:
2067+
two numbers. Let's add that in, along with a `match` statement to compare the
2068+
guess to the secret guess:
20692069

20702070
```{rust,ignore}
20712071
use std::io;
@@ -2861,7 +2861,7 @@ parts of your library. The six levels are:
28612861
* experimental: This item was only recently introduced or is otherwise in a
28622862
state of flux. It may change significantly, or even be removed. No guarantee
28632863
of backwards-compatibility.
2864-
* unstable: This item is still under development and requires more testing to
2864+
* unstable: This item is still under development, but requires more testing to
28652865
be considered stable. No guarantee of backwards-compatibility.
28662866
* stable: This item is considered stable, and will not change significantly.
28672867
Guarantee of backwards-compatibility.
@@ -5174,12 +5174,12 @@ processor. Rust's semantics lend themselves very nicely to solving a number of
51745174
issues that programmers have with concurrency. Many concurrency errors that are
51755175
runtime errors in other languages are compile-time errors in Rust.
51765176

5177-
Rust's concurrency primitive is called a **task**. Tasks are lightweight, and
5178-
do not share memory in an unsafe manner, preferring message passing to
5179-
communicate. It's worth noting that tasks are implemented as a library, and
5180-
not part of the language. This means that in the future, other concurrency
5181-
libraries can be written for Rust to help in specific scenarios. Here's an
5182-
example of creating a task:
5177+
Rust's concurrency primitive is called a **task**. Tasks are similar to
5178+
threads, and do not share memory in an unsafe manner, preferring message
5179+
passing to communicate. It's worth noting that tasks are implemented as a
5180+
library, and not part of the language. This means that in the future, other
5181+
concurrency libraries can be written for Rust to help in specific scenarios.
5182+
Here's an example of creating a task:
51835183

51845184
```{rust}
51855185
spawn(proc() {

branches/snap-stage3/src/doc/reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -522,7 +522,7 @@ The two values of the boolean type are written `true` and `false`.
522522
### Symbols
523523

524524
```{.ebnf .gram}
525-
symbol : "::" | "->"
525+
symbol : "::" "->"
526526
| '#' | '[' | ']' | '(' | ')' | '{' | '}'
527527
| ',' | ';' ;
528528
```

branches/snap-stage3/src/driver/driver.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@
1212
extern crate "rustdoc" as this;
1313

1414
#[cfg(rustc)]
15-
extern crate "rustc_driver" as this;
15+
extern crate "rustc_trans" as this;
1616

1717
fn main() { this::main() }

branches/snap-stage3/src/etc/gdb_rust_pretty_printing.py

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -54,27 +54,21 @@ def rust_pretty_printer_lookup_function(val):
5454
return RustStructPrinter(val, false)
5555

5656
if enum_member_count == 1:
57-
first_variant_name = enum_members[0].name
58-
if first_variant_name == None:
57+
if enum_members[0].name == None:
5958
# This is a singleton enum
6059
return rust_pretty_printer_lookup_function(val[enum_members[0]])
6160
else:
62-
assert first_variant_name.startswith("RUST$ENCODED$ENUM$")
61+
assert enum_members[0].name.startswith("RUST$ENCODED$ENUM$")
6362
# This is a space-optimized enum
64-
last_separator_index = first_variant_name.rfind("$")
63+
last_separator_index = enum_members[0].name.rfind("$")
6564
second_last_separator_index = first_variant_name.rfind("$", 0, last_separator_index)
6665
disr_field_index = first_variant_name[second_last_separator_index + 1 :
6766
last_separator_index]
6867
disr_field_index = int(disr_field_index)
6968

7069
sole_variant_val = val[enum_members[0]]
7170
disr_field = get_field_at_index(sole_variant_val, disr_field_index)
72-
discriminant = sole_variant_val[disr_field]
73-
74-
# If the discriminant field is a fat pointer we have to consider the
75-
# first word as the true discriminant
76-
if discriminant.type.code == gdb.TYPE_CODE_STRUCT:
77-
discriminant = discriminant[get_field_at_index(discriminant, 0)]
71+
discriminant = int(sole_variant_val[disr_field])
7872

7973
if discriminant == 0:
8074
null_variant_name = first_variant_name[last_separator_index + 1:]
@@ -179,7 +173,7 @@ def to_string(self):
179173

180174
class IdentityPrinter:
181175
def __init__(self, string):
182-
self.string = string
176+
self.string
183177

184178
def to_string(self):
185179
return self.string

branches/snap-stage3/src/etc/licenseck.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,9 @@
3838
"rt/isaac/randport.cpp", # public domain
3939
"rt/isaac/rand.h", # public domain
4040
"rt/isaac/standard.h", # public domain
41-
"libstd/comm/mpsc_queue.rs", # BSD
42-
"libstd/comm/spsc_queue.rs", # BSD
41+
"libstd/sync/mpsc_queue.rs", # BSD
42+
"libstd/sync/spsc_queue.rs", # BSD
43+
"libstd/sync/mpmc_bounded_queue.rs", # BSD
4344
"test/bench/shootout-binarytrees.rs", # BSD
4445
"test/bench/shootout-chameneos-redux.rs", # BSD
4546
"test/bench/shootout-fannkuch-redux.rs", # BSD

branches/snap-stage3/src/etc/lldb_rust_formatters.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -138,14 +138,9 @@ def print_enum_val(val, internal_dict):
138138
return "<invalid enum encoding: %s>" % first_variant_name
139139

140140
# Read the discriminant
141-
disr_val = val.GetChildAtIndex(0).GetChildAtIndex(disr_field_index)
141+
disr_val = val.GetChildAtIndex(0).GetChildAtIndex(disr_field_index).GetValueAsUnsigned()
142142

143-
# If the discriminant field is a fat pointer we have to consider the
144-
# first word as the true discriminant
145-
if disr_val.GetType().GetTypeClass() == lldb.eTypeClassStruct:
146-
disr_val = disr_val.GetChildAtIndex(0)
147-
148-
if disr_val.GetValueAsUnsigned() == 0:
143+
if disr_val == 0:
149144
# Null case: Print the name of the null-variant
150145
null_variant_name = first_variant_name[last_separator_index + 1:]
151146
return null_variant_name

0 commit comments

Comments
 (0)