Skip to content

Commit e40ed55

Browse files
committed
---
yaml --- r: 112619 b: refs/heads/snap-stage3 c: 1f4278d h: refs/heads/master i: 112617: 84de6aa 112615: 1a48c04 v: v3
1 parent 3f32b03 commit e40ed55

Some content is hidden

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

80 files changed

+973
-559
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: 30e373390f1a2f74e78bf9ca9c8ca68451f3511a
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: 1be93e61da4cd63840a0b5318785547a009e8cae
4+
refs/heads/snap-stage3: 1f4278d650837bf30e5461fd15c2364b2bb5ceff
55
refs/heads/try: fa3000fae833e0869b11da51cabb2a2598ba86d1
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b

branches/snap-stage3/mk/docs.mk

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,26 @@ doc/footer.inc: $(D)/footer.inc | doc/
141141
@$(call E, cp: $@)
142142
$(Q)cp -a $< $@ 2> /dev/null
143143

144+
doc/FiraSans-Regular.woff: $(D)/FiraSans-Regular.woff | doc/
145+
@$(call E, cp: $@)
146+
$(Q)cp -a $< $@ 2> /dev/null
147+
148+
doc/FiraSans-Medium.woff: $(D)/FiraSans-Medium.woff | doc/
149+
@$(call E, cp: $@)
150+
$(Q)cp -a $< $@ 2> /dev/null
151+
152+
doc/Heuristica-Regular.woff: $(D)/Heuristica-Regular.woff | doc/
153+
@$(call E, cp: $@)
154+
$(Q)cp -a $< $@ 2> /dev/null
155+
156+
doc/Heuristica-Italic.woff: $(D)/Heuristica-Italic.woff | doc/
157+
@$(call E, cp: $@)
158+
$(Q)cp -a $< $@ 2> /dev/null
159+
160+
doc/Heuristica-Bold.woff: $(D)/Heuristica-Bold.woff | doc/
161+
@$(call E, cp: $@)
162+
$(Q)cp -a $< $@ 2> /dev/null
163+
144164
# The (english) documentation for each doc item.
145165

146166
define DEF_SHOULD_BUILD_PDF_DOC
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

branches/snap-stage3/src/doc/complement-cheatsheet.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -207,12 +207,12 @@ let _ = close(Door::<Closed>("front".to_owned())); // error: mismatched types: e
207207
208208
## C function signature conversions
209209
210-
Description C signature Equivalent Rust signature
211-
---------------------- ---------------------------------------------- ------------------------------------------
212-
no parameters `void foo(void);` `fn foo();`
213-
return value `int foo(void);` `fn foo() -> c_int;`
214-
function parameters `void foo(int x, int y);` `fn foo(x: c_int, y: c_int);`
215-
in-out pointers `void foo(const int* in_ptr, int* out_ptr);` `fn foo(in_ptr: *c_int, out_ptr: *mut c_int);`
210+
| Description | C signature | Equivalent Rust signature |
211+
|---------------------|-----------------------------------------------|------------------------------------------------|
212+
| no parameters | `void foo(void);` | `fn foo();` |
213+
| return value | `int foo(void);` | `fn foo() -> c_int;` |
214+
| function parameters | `void foo(int x, int y);` | `fn foo(x: c_int, y: c_int);` |
215+
| in-out pointers | `void foo(const int* in_ptr, int* out_ptr);` | `fn foo(in_ptr: *c_int, out_ptr: *mut c_int);` |
216216
217217
Note: The Rust signatures should be wrapped in an `extern "ABI" { ... }` block.
218218

branches/snap-stage3/src/doc/complement-lang-faq.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ Some examples that demonstrate different aspects of the language:
2222

2323
[sprocketnes]: https://github.com/pcwalton/sprocketnes
2424
[hash]: https://github.com/mozilla/rust/blob/master/src/libstd/hash.rs
25-
[HashMap]: https://github.com/mozilla/rust/blob/master/src/libstd/hashmap.rs
26-
[json]: https://github.com/mozilla/rust/blob/master/src/libextra/json.rs
25+
[HashMap]: https://github.com/mozilla/rust/blob/master/src/libcollections/hashmap.rs
26+
[json]: https://github.com/mozilla/rust/blob/master/src/libserialize/json.rs
2727

2828
You may also be interested in browsing [GitHub's Rust][github-rust] page.
2929

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
<link rel="shortcut icon" href="http://www.rust-lang.org/favicon.ico" />
1+
<link rel="shortcut icon" href="http://www.rust-lang.org/favicon.ico">
2+
<link href='http://fonts.googleapis.com/css?family=Source+Code+Pro:400'
3+
rel='stylesheet' type='text/css'>

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ just unique keys without a corresponding value. The `Map` and `Set` traits in
2222

2323
The standard library provides three owned map/set types:
2424

25-
* `std::hashmap::HashMap` and `std::hashmap::HashSet`, requiring the keys to
25+
* `collections::HashMap` and `collections::HashSet`, requiring the keys to
2626
implement `Eq` and `Hash`
27-
* `std::trie::TrieMap` and `std::trie::TrieSet`, requiring the keys to be `uint`
28-
* `extra::treemap::TreeMap` and `extra::treemap::TreeSet`, requiring the keys
27+
* `collections::TrieMap` and `collections::TrieSet`, requiring the keys to be `uint`
28+
* `collections::TreeMap` and `collections::TreeSet`, requiring the keys
2929
to implement `TotalOrd`
3030

3131
These maps do not use managed pointers so they can be sent between tasks as
@@ -42,19 +42,19 @@ implementing the `Hash` trait.
4242

4343
## Double-ended queues
4444

45-
The `extra::ringbuf` module implements a double-ended queue with `O(1)`
45+
The `collections::ringbuf` module implements a double-ended queue with `O(1)`
4646
amortized inserts and removals from both ends of the container. It also has
4747
`O(1)` indexing like a vector. The contained elements are not required to be
4848
copyable, and the queue will be sendable if the contained type is sendable.
49-
Its interface `Deque` is defined in `extra::collections`.
49+
Its interface `Deque` is defined in `collections`.
5050

5151
The `extra::dlist` module implements a double-ended linked list, also
5252
implementing the `Deque` trait, with `O(1)` removals and inserts at either end,
5353
and `O(1)` concatenation.
5454

5555
## Priority queues
5656

57-
The `extra::priority_queue` module implements a queue ordered by a key. The
57+
The `collections::priority_queue` module implements a queue ordered by a key. The
5858
contained elements are not required to be copyable, and the queue will be
5959
sendable if the contained type is sendable.
6060

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ a `Sender` and `Receiver` (commonly abbreviated `tx` and `rx`).
217217
The `spawn` function spins up a new task,
218218
given a *heap allocated closure* to run.
219219
As you can see in the code,
220-
we call `chan.send()` from the original task,
220+
we call `tx.send()` from the original task,
221221
passing in our boxed array,
222222
and we call `rx.recv()` (short for 'receive') inside of the new task:
223223
values given to the `Sender` via the `send` method come out the other end via the `recv` method on the `Receiver`.

branches/snap-stage3/src/doc/rust.css

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -14,34 +14,41 @@
1414
font-family: 'Fira Sans';
1515
font-style: normal;
1616
font-weight: 400;
17-
src: local('Fira Sans'), url("http://www.rust-lang.org/fonts/FiraSans-Regular.woff") format('woff');
17+
src: local('Fira Sans'), url("FiraSans-Regular.woff") format('woff');
1818
}
1919
@font-face {
2020
font-family: 'Fira Sans';
2121
font-style: normal;
2222
font-weight: 500;
23-
src: local('Fira Sans Medium'), url("http://www.rust-lang.org/fonts/FiraSans-Medium.woff") format('woff');
23+
src: local('Fira Sans Medium'), url("FiraSans-Medium.woff") format('woff');
2424
}
2525
@font-face {
2626
font-family: 'Heuristica';
2727
font-style: normal;
2828
font-weight: 400;
29-
src: local('Heuristica Regular'), url("http://www.rust-lang.org/fonts/Heuristica-Regular.woff") format('woff');
29+
src: local('Heuristica Regular'), url("Heuristica-Regular.woff") format('woff');
3030
}
3131
@font-face {
3232
font-family: 'Heuristica';
3333
font-style: italic;
3434
font-weight: 400;
35-
src: local('Heuristica Italic'), url("http://www.rust-lang.org/fonts/Heuristica-Italic.woff") format('woff');
35+
src: local('Heuristica Italic'), url("Heuristica-Italic.woff") format('woff');
3636
}
3737
@font-face {
3838
font-family: 'Heuristica';
3939
font-style: normal;
4040
font-weight: 700;
41-
src: local('Heuristica Bold'), url("http://www.rust-lang.org/fonts/Heuristica-Bold.woff") format('woff');
41+
src: local('Heuristica Bold'), url("Heuristica-Bold.woff") format('woff');
4242
}
43-
/* Global page semantics
44-
========================================================================== */
43+
44+
*:not(body) {
45+
-webkit-box-sizing: border-box;
46+
-moz-box-sizing: border-box;
47+
box-sizing: border-box;
48+
}
49+
50+
/* General structure */
51+
4552
body {
4653
margin: 0 auto;
4754
padding: 0 15px;
@@ -71,16 +78,6 @@ h1, h2, h3 {
7178
h1 {
7279
margin-bottom: 20px;
7380
}
74-
@media (min-width: 1170px) {
75-
h1 {
76-
margin-top: 40px;
77-
margin-bottom: 30px;
78-
}
79-
h1, h2, h3 {
80-
margin-top: 30px;
81-
margin-bottom: 15px;
82-
}
83-
}
8481
h4, h5, h6 {
8582
margin-top: 12px;
8683
margin-bottom: 10px;
@@ -157,8 +154,8 @@ footer {
157154
margin-bottom: 1em;
158155
}
159156

160-
/* Links layout
161-
========================================================================== */
157+
/* Links layout */
158+
162159
a {
163160
text-decoration: none;
164161
color: #428BCA;
@@ -183,18 +180,16 @@ h5 a:link, h5 a:visited {color: black;}
183180
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover,
184181
h5 a:hover {text-decoration: none;}
185182

186-
/* Code
187-
========================================================================== */
183+
/* Code */
184+
188185
pre, code {
189-
font-family: Menlo, Monaco, Consolas, "DejaVu Sans Mono", monospace;
190-
border-radius: 4px;
186+
font-family: "Source Code Pro", Menlo, Monaco, Consolas, "DejaVu Sans Mono", monospace;
191187
}
192188
pre {
193-
background-color: #FDFDFD;
194-
border: 1px solid #CCC;
195-
border-radius: 0.5em;
189+
border-left: 2px solid #eee;
196190
white-space: pre-wrap;
197-
padding: 9.5px;
191+
padding: 14px;
192+
padding-right: 0;
198193
margin: 20px 0;
199194
font-size: 13px;
200195
word-break: break-all;
@@ -203,15 +198,12 @@ pre {
203198
code {
204199
padding: 0 2px;
205200
color: #8D1A38;
206-
white-space: nowrap;
201+
white-space: pre-wrap;
207202
}
208203
pre code {
209204
padding: 0;
210205
font-size: inherit;
211206
color: inherit;
212-
white-space: pre-wrap;
213-
background-color: transparent;
214-
border-radius: 0;
215207
}
216208

217209
/* Code highlighting */
@@ -225,16 +217,16 @@ pre.rust .doccomment { color: #4D4D4C; }
225217
pre.rust .macro, pre.rust .macro-nonterminal { color: #3E999F; }
226218
pre.rust .lifetime { color: #B76514; }
227219

220+
/* The rest */
228221

229-
/* The rest
230-
========================================================================== */
231222
#versioninfo {
232223
text-align: center;
233224
margin: 0.5em;
234225
font-size: 1.1em;
235226
}
236-
@media only screen and (min-width: 768px) {
227+
@media (min-width: 992px) {
237228
#versioninfo {
229+
font-size: 0.8em;
238230
position: fixed;
239231
bottom: 0px;
240232
right: 0px;
@@ -243,7 +235,7 @@ pre.rust .lifetime { color: #B76514; }
243235
background-color: #fff;
244236
margin: 2px;
245237
padding: 0 2px;
246-
border-radius: .3em;
238+
border-radius: .2em;
247239
}
248240
}
249241
#versioninfo a.hash {
@@ -252,10 +244,12 @@ pre.rust .lifetime { color: #B76514; }
252244
}
253245

254246
blockquote {
255-
color: black;
256-
border-left: 5px solid #eee;
257-
margin: 0 0 20px;
258-
padding: 10px 20px;
247+
color: #000;
248+
margin: 20px 0;
249+
padding: 15px 20px;
250+
background-color: #f2f7f9;
251+
border-top: .1em solid #e5eef2;
252+
border-bottom: .1em solid #e5eef2;
259253
}
260254
blockquote p {
261255
font-size: 17px;
@@ -319,6 +313,12 @@ table th {
319313
padding: 5px;
320314
}
321315

316+
@media (min-width: 1170px) {
317+
pre {
318+
font-size: 15px;
319+
}
320+
}
321+
322322
@media print {
323323
* {
324324
text-shadow: none !important;

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1793,11 +1793,6 @@ spawn(proc() {
17931793
});
17941794
~~~~
17951795
1796-
> *Note:* If you want to see the output of `debug!` statements, you will need to turn on
1797-
> `debug!` logging. To enable `debug!` logging, set the RUST_LOG environment
1798-
> variable to the name of your crate, which, for a file named `foo.rs`, will be
1799-
> `foo` (e.g., with bash, `export RUST_LOG=foo`).
1800-
18011796
## Closure compatibility
18021797
18031798
Rust closures have a convenient subtyping property: you can pass any kind of

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

Lines changed: 37 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,26 +12,53 @@
1212
import os
1313
import sys
1414

15-
# FIXME #12303 these tests are broken on windows
16-
if os.name == 'nt':
17-
print 'ignoring make tests on windows'
18-
sys.exit(0)
15+
# msys1/msys2 automatically converts `/abs/path1:/abs/path2` into
16+
# `c:\real\abs\path1;c:\real\abs\path2` (semicolons) if shell thinks
17+
# the value is list of paths.
18+
# this causes great confusion and error: shell and Makefile doesn't like
19+
# windows paths so it is really error-prone. revert it for peace.
20+
def normalize_path(v):
21+
# c:\path -> /c/path
22+
if ':\\' in v:
23+
v = '/' + v.replace(':\\', '/')
24+
v = v.replace('\\', '/')
25+
return v
26+
27+
28+
def putenv(name, value):
29+
if os.name == 'nt':
30+
value = normalize_path(value)
31+
os.putenv(name, value)
32+
1933

2034
make = sys.argv[2]
21-
os.putenv('RUSTC', os.path.abspath(sys.argv[3]))
22-
os.putenv('TMPDIR', os.path.abspath(sys.argv[4]))
23-
os.putenv('CC', sys.argv[5])
24-
os.putenv('RUSTDOC', os.path.abspath(sys.argv[6]))
35+
putenv('RUSTC', os.path.abspath(sys.argv[3]))
36+
putenv('TMPDIR', os.path.abspath(sys.argv[4]))
37+
putenv('CC', sys.argv[5])
38+
putenv('RUSTDOC', os.path.abspath(sys.argv[6]))
2539
filt = sys.argv[7]
2640
ldpath = sys.argv[8]
2741
if ldpath != '':
28-
os.putenv(ldpath.split('=')[0], ldpath.split('=')[1])
42+
name = ldpath.split('=')[0]
43+
value = ldpath.split('=')[1]
44+
if os.name == 'nt' and name != 'PATH':
45+
value = ":".join(normalize_path(v) for v in value.split(";"))
46+
os.putenv(name, value)
2947

3048
if not filt in sys.argv[1]:
3149
sys.exit(0)
3250
print('maketest: ' + os.path.basename(os.path.dirname(sys.argv[1])))
3351

34-
proc = subprocess.Popen([make, '-C', sys.argv[1]],
52+
path = sys.argv[1]
53+
if path[-1] == '/':
54+
# msys1 has a bug that `make` fails to include `../tools.mk` (parent dir)
55+
# if `-C path` option is given and `path` is absolute directory with
56+
# trailing slash (`c:/path/to/test/`).
57+
# the easist workaround is to remove the slash (`c:/path/to/test`).
58+
# msys2 seems to fix this problem.
59+
path = path[:-1]
60+
61+
proc = subprocess.Popen([make, '-C', path],
3562
stdout = subprocess.PIPE,
3663
stderr = subprocess.PIPE)
3764
out, err = proc.communicate()

branches/snap-stage3/src/libnum/bigint.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,8 @@ impl Sub<BigUint, BigUint> for BigUint {
230230
lo
231231
}).collect();
232232

233-
assert_eq!(borrow, 0); // <=> assert!((self >= other));
233+
assert!(borrow == 0,
234+
"Cannot subtract other from self because other is larger than self.");
234235
return BigUint::new(diff);
235236
}
236237
}
@@ -1755,6 +1756,13 @@ mod biguint_tests {
17551756
}
17561757
}
17571758

1759+
#[test]
1760+
#[should_fail]
1761+
fn test_sub_fail_on_underflow() {
1762+
let (a, b) : (BigUint, BigUint) = (Zero::zero(), One::one());
1763+
a - b;
1764+
}
1765+
17581766
static mul_triples: &'static [(&'static [BigDigit],
17591767
&'static [BigDigit],
17601768
&'static [BigDigit])] = &[

0 commit comments

Comments
 (0)