Skip to content

Commit a3291c8

Browse files
committed
---
yaml --- r: 124670 b: refs/heads/try c: ca24abd h: refs/heads/master v: v3
1 parent 92992cd commit a3291c8

File tree

172 files changed

+4859
-761
lines changed

Some content is hidden

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

172 files changed

+4859
-761
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: f15d6d28396e8700b6c3f2704204a2769e710403
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 9fc8394d3bce22ab483f98842434c84c396212ae
5-
refs/heads/try: 428c7bc1296de59fc46bb777639c540f6e6dd15a
5+
refs/heads/try: ca24abd4d2d02dd96ef323074c9a21d44b3fd202
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c

branches/try/man/rustc.1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ AST nodes and blocks with IDs), or flowgraph=<nodeid> (graphviz
6868
formatted flowgraph for node)
6969
.TP
7070
\fB\-\-dep-info\fR [FILENAME]
71-
Output dependency info to <filename> after compiling, in o format suitable
71+
Output dependency info to <filename> after compiling, in a format suitable
7272
for use by Makefiles.
7373
.TP
7474
\fB\-\-sysroot\fR PATH

branches/try/mk/main.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@ define SREQ_CMDS
377377
ifeq ($$(OSTYPE_$(3)),apple-darwin)
378378
LD_LIBRARY_PATH_ENV_NAME$(1)_T_$(2)_H_$(3) := DYLD_LIBRARY_PATH
379379
else
380-
ifeq ($$(CFG_WINDOWSY_$(2)),1)
380+
ifeq ($$(CFG_WINDOWSY_$(3)),1)
381381
LD_LIBRARY_PATH_ENV_NAME$(1)_T_$(2)_H_$(3) := PATH
382382
else
383383
LD_LIBRARY_PATH_ENV_NAME$(1)_T_$(2)_H_$(3) := LD_LIBRARY_PATH

branches/try/src/compiletest/compiletest.rs

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ use std::io::fs;
3030
use std::from_str::FromStr;
3131
use getopts::{optopt, optflag, reqopt};
3232
use common::Config;
33-
use common::{Pretty, DebugInfoGdb, Codegen};
33+
use common::{Pretty, DebugInfoGdb, DebugInfoLldb, Codegen};
3434
use util::logv;
3535
use regex::Regex;
3636

@@ -89,9 +89,9 @@ pub fn parse_config(args: Vec<String> ) -> Config {
8989
optflag("h", "help", "show this message"));
9090

9191
assert!(!args.is_empty());
92-
let argv0 = (*args.get(0)).clone();
92+
let argv0 = args[0].clone();
9393
let args_ = args.tail();
94-
if args.get(1).as_slice() == "-h" || args.get(1).as_slice() == "--help" {
94+
if args[1].as_slice() == "-h" || args[1].as_slice() == "--help" {
9595
let message = format!("Usage: {} [OPTIONS] [TESTNAME...]", argv0);
9696
println!("{}", getopts::usage(message.as_slice(), groups.as_slice()));
9797
println!("");
@@ -116,7 +116,7 @@ pub fn parse_config(args: Vec<String> ) -> Config {
116116
}
117117

118118
let filter = if !matches.free.is_empty() {
119-
let s = matches.free.get(0).as_slice();
119+
let s = matches.free[0].as_slice();
120120
match regex::Regex::new(s) {
121121
Ok(re) => Some(re),
122122
Err(e) => {
@@ -241,6 +241,16 @@ pub fn run_tests(config: &Config) {
241241
os::setenv("RUST_TEST_TASKS","1");
242242
}
243243

244+
match config.mode {
245+
DebugInfoLldb => {
246+
// Some older versions of LLDB seem to have problems with multiple
247+
// instances running in parallel, so only run one test task at a
248+
// time.
249+
os::setenv("RUST_TEST_TASKS", "1");
250+
}
251+
_ => { /* proceed */ }
252+
}
253+
244254
let opts = test_opts(config);
245255
let tests = make_tests(config);
246256
// sadly osx needs some file descriptor limits raised for running tests in

branches/try/src/compiletest/runtest.rs

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ fn run_pretty_test(config: &Config, props: &TestProps, testfile: &Path) {
167167
let proc_res = print_source(config,
168168
props,
169169
testfile,
170-
(*srcs.get(round)).to_string(),
170+
srcs[round].to_string(),
171171
"normal");
172172

173173
if !proc_res.status.success() {
@@ -187,9 +187,9 @@ fn run_pretty_test(config: &Config, props: &TestProps, testfile: &Path) {
187187
let s = File::open(&filepath).read_to_end().unwrap();
188188
String::from_utf8(s).unwrap()
189189
}
190-
None => { (*srcs.get(srcs.len() - 2u)).clone() }
190+
None => { srcs[srcs.len() - 2u].clone() }
191191
};
192-
let mut actual = (*srcs.get(srcs.len() - 1u)).clone();
192+
let mut actual = srcs[srcs.len() - 1u].clone();
193193

194194
if props.pp_exact.is_some() {
195195
// Now we have to care about line endings
@@ -209,7 +209,7 @@ fn run_pretty_test(config: &Config, props: &TestProps, testfile: &Path) {
209209
if props.no_pretty_expanded { return }
210210

211211
// additionally, run `--pretty expanded` and try to build it.
212-
let proc_res = print_source(config, props, testfile, (*srcs.get(round)).clone(), "expanded");
212+
let proc_res = print_source(config, props, testfile, srcs[round].clone(), "expanded");
213213
if !proc_res.status.success() {
214214
fatal_proc_rec("pretty-printing (expanded) failed", &proc_res);
215215
}
@@ -536,6 +536,16 @@ fn run_debuginfo_lldb_test(config: &Config, props: &TestProps, testfile: &Path)
536536
// We don't want to hang when calling `quit` while the process is still running
537537
let mut script_str = String::from_str("settings set auto-confirm true\n");
538538

539+
// Make LLDB emit its version, so we have it documented in the test output
540+
script_str.push_str("version\n");
541+
542+
// Switch LLDB into "Rust mode"
543+
script_str.push_str("command script import ./src/etc/lldb_rust_formatters.py\n");
544+
script_str.push_str("type summary add --no-value ");
545+
script_str.push_str("--python-function lldb_rust_formatters.print_val ");
546+
script_str.push_str("-x \".*\" --category Rust\n");
547+
script_str.push_str("type category enable Rust\n");
548+
539549
// Set breakpoints on every line that contains the string "#break"
540550
for line in breakpoint_lines.iter() {
541551
script_str.push_str(format!("breakpoint set --line {}\n",
@@ -692,7 +702,7 @@ fn check_debugger_output(debugger_run_result: &ProcRes, check_lines: &[String])
692702
let mut rest = line.trim();
693703
let mut first = true;
694704
let mut failed = false;
695-
for frag in check_fragments.get(i).iter() {
705+
for frag in check_fragments[i].iter() {
696706
let found = if first {
697707
if rest.starts_with(frag.as_slice()) {
698708
Some(0)
@@ -742,7 +752,7 @@ fn check_error_patterns(props: &TestProps,
742752
}
743753

744754
let mut next_err_idx = 0u;
745-
let mut next_err_pat = props.error_patterns.get(next_err_idx);
755+
let mut next_err_pat = &props.error_patterns[next_err_idx];
746756
let mut done = false;
747757
let output_to_check = if props.check_stdout {
748758
format!("{}{}", proc_res.stdout, proc_res.stderr)
@@ -751,14 +761,14 @@ fn check_error_patterns(props: &TestProps,
751761
};
752762
for line in output_to_check.as_slice().lines() {
753763
if line.contains(next_err_pat.as_slice()) {
754-
debug!("found error pattern {}", *next_err_pat);
764+
debug!("found error pattern {}", next_err_pat);
755765
next_err_idx += 1u;
756766
if next_err_idx == props.error_patterns.len() {
757767
debug!("found all error patterns");
758768
done = true;
759769
break;
760770
}
761-
next_err_pat = props.error_patterns.get(next_err_idx);
771+
next_err_pat = &props.error_patterns[next_err_idx];
762772
}
763773
}
764774
if done { return; }
@@ -837,13 +847,13 @@ fn check_expected_errors(expected_errors: Vec<errors::ExpectedError> ,
837847
for line in proc_res.stderr.as_slice().lines() {
838848
let mut was_expected = false;
839849
for (i, ee) in expected_errors.iter().enumerate() {
840-
if !*found_flags.get(i) {
850+
if !found_flags[i] {
841851
debug!("prefix={} ee.kind={} ee.msg={} line={}",
842-
prefixes.get(i).as_slice(),
852+
prefixes[i].as_slice(),
843853
ee.kind,
844854
ee.msg,
845855
line);
846-
if prefix_matches(line, prefixes.get(i).as_slice()) &&
856+
if prefix_matches(line, prefixes[i].as_slice()) &&
847857
line.contains(ee.kind.as_slice()) &&
848858
line.contains(ee.msg.as_slice()) {
849859
*found_flags.get_mut(i) = true;
@@ -867,7 +877,7 @@ fn check_expected_errors(expected_errors: Vec<errors::ExpectedError> ,
867877

868878
for (i, &flag) in found_flags.iter().enumerate() {
869879
if !flag {
870-
let ee = expected_errors.get(i);
880+
let ee = &expected_errors[i];
871881
fatal_proc_rec(format!("expected {} on line {} not found: {}",
872882
ee.kind, ee.line, ee.msg).as_slice(),
873883
proc_res);

branches/try/src/doc/complement-lang-faq.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ You may also be interested in browsing [GitHub's Rust][github-rust] page.
3131

3232
## Does it run on Windows?
3333

34-
Yes. All development happens in lock-step on all 3 target platforms. Using MinGW, not Cygwin. Note that the windows implementation currently has some limitations: in particular 64-bit build is [not fully supported yet][win64], and all executables created by rustc [depends on libgcc DLL at runtime][libgcc].
34+
Yes. All development happens in lock-step on all 3 target platforms. Using MinGW, not Cygwin. Note that the windows implementation currently has some limitations: in particular 64-bit build is [not fully supported yet][win64], and all executables created by rustc [depend on libgcc DLL at runtime][libgcc].
3535

3636
[win64]: https://github.com/rust-lang/rust/issues/1237
3737
[libgcc]: https://github.com/rust-lang/rust/issues/11782
@@ -68,7 +68,7 @@ Cleanup through RAII-style destructors is more likely to work than in catch bloc
6868

6969
## Why aren't modules type-parametric?
7070

71-
We want to maintain the option to parametrize at runtime. We may make eventually change this limitation, but initially this is how type parameters were implemented.
71+
We want to maintain the option to parametrize at runtime. We may eventually change this limitation, but initially this is how type parameters were implemented.
7272

7373
## Why aren't values type-parametric? Why only items?
7474

branches/try/src/doc/guide.md

Lines changed: 6 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -279,59 +279,12 @@ program doesn't have any dependencies, so we'll only be using the first part of
279279
its functionality. Eventually, we'll add more. Since we started off by using
280280
Cargo, it'll be easy to add later.
281281

282-
Let's convert Hello World to Cargo. The first thing we need to do to begin using Cargo
283-
is to install Cargo. To do this, we need to build it from source. There are no binaries
284-
yet.
285-
286-
First, let's go back to our projects directory. We don't want Cargo to
287-
live in our project!
288-
289-
```{bash}
290-
$ cd ..
291-
```
292-
293-
Next, we need these commands:
294-
295-
```{bash}
296-
$ git clone --recursive https://github.com/rust-lang/cargo
297-
$ cd cargo
298-
$ make
299-
$ make install # may need sudo or admin permissions
300-
```
301-
302-
The `--recursive` downloads Cargo's own dependencies. You can't use Cargo to
303-
fetch dependencies until you have Cargo installed! Also, you will need to have
304-
`git` installed. Much of the Rust world assumes `git` usage, so it's a good
305-
thing to have around. Please check out [the git
306-
documentation](http://git-scm.com/book/en/Getting-Started-Installing-Git) for
307-
more on installing `git`.
308-
309-
We hope to give Cargo a binary installer, similar to Rust's own, so that
310-
this will not be necessary in the future.
311-
312-
Let's see if that worked. Try this:
313-
314-
```{bash}
315-
$ cargo
316-
Commands:
317-
build # compile the current project
318-
319-
Options (for all commands):
320-
321-
-v, [--verbose]
322-
-h, [--help]
323-
```
324-
325-
If you see this output when you run `cargo`, congrats! Cargo is working. If
326-
not, please [open an issue](https://github.com/rust-lang/cargo/issues/new) or
327-
drop by the Rust IRC, and we can help you out.
328-
329-
Let's move back into our `hello_world` directory now:
330-
331-
```{bash}
332-
$ cd .. # move back up into projects
333-
$ cd hello_world # move into hello_world
334-
```
282+
Let's convert Hello World to Cargo. The first thing we need to do to begin
283+
using Cargo is to install Cargo. Luckily for us, the script we ran to install
284+
Rust includes Cargo by default. If you installed Rust some other way, you may
285+
want to [check the Cargo
286+
README](https://github.com/rust-lang/cargo#installing-cargo-from-nightlies)
287+
for specific instructions about installing it.
335288

336289
To Cargo-ify our project, we need to do two things: Make a `Cargo.toml`
337290
configuration file, and put our source file in the right place. Let's

branches/try/src/doc/intro.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ fn main() {
205205
206206
spawn(proc() {
207207
let numbers = rx.recv();
208-
println!("{}", *numbers.get(0));
208+
println!("{}", numbers[0]);
209209
})
210210
}
211211
```
@@ -244,19 +244,19 @@ fn main() {
244244
245245
spawn(proc() {
246246
let numbers = rx.recv();
247-
println!("{}", numbers.get(0));
247+
println!("{}", numbers[0]);
248248
});
249249
250250
// Try to print a number from the original task
251-
println!("{}", *numbers.get(0));
251+
println!("{}", numbers[0]);
252252
}
253253
```
254254

255255
The compiler will produce an error indicating that the value is no longer in scope:
256256

257257
```text
258258
concurrency.rs:12:20: 12:27 error: use of moved value: 'numbers'
259-
concurrency.rs:12 println!("{}", numbers.get(0));
259+
concurrency.rs:12 println!("{}", numbers[0]);
260260
^~~~~~~
261261
```
262262

@@ -276,7 +276,7 @@ fn main() {
276276
277277
spawn(proc() {
278278
let numbers = rx.recv();
279-
println!("{:d}", *numbers.get(num as uint));
279+
println!("{:d}", numbers[num as uint]);
280280
})
281281
}
282282
}
@@ -309,7 +309,7 @@ fn main() {
309309
310310
spawn(proc() {
311311
let numbers = rx.recv();
312-
println!("{:d}", *numbers.get(num as uint));
312+
println!("{:d}", (*numbers)[num as uint]);
313313
})
314314
}
315315
}
@@ -364,7 +364,7 @@ fn main() {
364364
// See: https://github.com/rust-lang/rust/issues/6515
365365
*numbers.get_mut(num as uint) = *numbers.get_mut(num as uint) + 1;
366366
367-
println!("{}", *numbers.get(num as uint));
367+
println!("{}", (*numbers)[num as uint]);
368368
369369
// When `numbers` goes out of scope the lock is dropped
370370
})

branches/try/src/doc/tutorial.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2427,7 +2427,7 @@ as in this version of `print_all` that copies elements.
24272427
fn print_all<T: Printable + Clone>(printable_things: Vec<T>) {
24282428
let mut i = 0;
24292429
while i < printable_things.len() {
2430-
let copy_of_thing = printable_things.get(i).clone();
2430+
let copy_of_thing = printable_things[i].clone();
24312431
copy_of_thing.print();
24322432
i += 1;
24332433
}

branches/try/src/etc/lldb_batchmode.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@
3131
import re
3232
import atexit
3333

34-
# Terminate the debugger
35-
atexit.register(lambda: lldb.SBDebugger.Terminate())
36-
3734
# Set this to True for additional output
3835
DEBUG_OUTPUT = False
3936

0 commit comments

Comments
 (0)